Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Sql查询I don';我不理解使用循环查找某些数据库。我需要它以稍微不同的方式搜索_Sql Server_Database_Sql Server 2008 - Fatal编程技术网

Sql server Sql查询I don';我不理解使用循环查找某些数据库。我需要它以稍微不同的方式搜索

Sql server Sql查询I don';我不理解使用循环查找某些数据库。我需要它以稍微不同的方式搜索,sql-server,database,sql-server-2008,Sql Server,Database,Sql Server 2008,我希望当我不知道如何去做某件事,也不知道如何去解决它时,可以简单地问一个问题。否则,我为这个问题道歉 一位同事给我发了一个问题,他用这个问题作为我试图写的东西的例子 在他的查询中,他使用以下内容来确定他想要从中提取的数据库 declare @i int, @d nvarchar (3), @max int, @db nvarchar (100), @query nvarchar (max), @base_db_name nvarchar(50), @use_loop int; set @us

我希望当我不知道如何去做某件事,也不知道如何去解决它时,可以简单地问一个问题。否则,我为这个问题道歉

一位同事给我发了一个问题,他用这个问题作为我试图写的东西的例子

在他的查询中,他使用以下内容来确定他想要从中提取的数据库

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$\u DEFG\u July\u开头的数据库,并在最后查找具有整数值的数据库


但我想做的是替换它,这样它就可以在数据库名称的任何一点上查找所有具有ABCDir的数据库,而不管名称中还有其他字符。

您可以使用sys.databases系统表之类的运算符。大概是这样的:

SELECT  *
FROM    sys.databases
WHERE   name LIKE N'%ABCD%'

我是否需要像原始查询一样声明任何变量?取决于您想做什么。如果只需要数据库名称,则此脚本无需任何其他编辑即可正常工作。在
中,如N“%ABCD%”
,N的
N
是什么?N用于指示字符串为unicode。在这个特殊的例子中,你可以省略它。