我希望当我不明白如何去做某些事情并且不知道如何解决问题时,可以简单地提出一个问题。否则,我为这个问题道歉。
一位同事给我发了一个问题,他用这个问题作为我试图写的东西的一个例子。
在他的查询中,他使用以下内容来识别他想要从中获取的数据库。
declare @i int, @d nvarchar (3), @max int, @db nvarchar (100), @query nvarchar (max),
@base_db_name nvarchar(50), @use_loop int;
set @use_loop = 1;
set @i = 276;
set @max = 300;
set @base_db_name = '[$ABC$_DEFG_July_';
/***** Uncomment below to use on a single database *****/
/*
set @use_loop = 0;
set @i = 1;
set @max = 1;
set @db = '[$TML$_AS 4030].dbo.';
*/
/************************************************************
***********************************************************
现在从我理解的一点点开始,我相信他找到了以$ ABC $ _DEFG_July _'开头的数据库。并在最后找到整数值。
但是我想要做的是替换它,以便它找到所有在数据库名称中的任何位置都有ABCDir的数据库,无论名称中包含哪些其他字符。
答案 0 :(得分:0)
您可以使用sys.databases系统表和LIKE运算符。像这样:
SELECT *
FROM sys.databases
WHERE name LIKE N'%ABCD%'