Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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 在SQLServer2008中使用like子句选择查询_Sql Server - Fatal编程技术网

Sql server 在SQLServer2008中使用like子句选择查询

Sql server 在SQLServer2008中使用like子句选择查询,sql-server,Sql Server,在此列中,所有存储过程都存储为文本 我需要检索在raiserror中具有raiserror和%d的所有存储过程 例如,SP中包含以下raiserror Table name : sp_text Column name : obj_Text 我尝试了下面的查询,但没有得到结果 raiserror('quantity adjustment is not allowed in row no %d', 16, 1, @fprowno) 使用系统视图:简单得多。你可以用括号来转义% sele

在此列中,所有存储过程都存储为文本

我需要检索在
raiserror
中具有
raiserror
%d的所有存储过程

例如,SP中包含以下
raiserror

Table name  : sp_text  
Column name : obj_Text
我尝试了下面的查询,但没有得到结果

raiserror('quantity adjustment is not allowed in row no %d', 16, 1, @fprowno)  
使用系统视图:简单得多。你可以用括号来转义%

select *
from   sp_text_ismail 
where  obj_Text like '%raiserror%'
  and  obj_Text like '%/%d%'

您也不能选择或筛选存储过程。

您必须在查询中使用转义字符“\”,并在最后提到它。您使用了正斜杠而不是倒斜杠。事实上,您可以使用任何字符作为转义字符,但最后必须提到

请尝试此查询

SELECT OBJECT_NAME(object_id), * FROM sys.sql_modules
WHERE definition LIKE '%raiserror%[%]d%'

“您也不能选择或筛选存储过程”是什么意思?您不能这样做:FROM(存储过程)WHERE(存储过程列)=foo您的意思是不能将
EXEC
放在
select
语句中吗?(这是真的,但与问题无关。)或者不能根据存储的进程的列名筛选它们?(这与问题有关,但不正确。)@gabe:两者都正确。我假设“sp_text”是一个存储过程。表的命名错误。。。上帝啊,更糟糕的是,OP在一个地方使用
sp_text
,在另一个地方使用
sp_text\u ismail
。ESCAPE停止搜索,您无法查询存储的proc@gbn:谢谢你的信息。你能给我任何关于这个事实的参考链接吗?为了我的学习。。
select * from sp_text_ismail where obj_Text like '%raiserror%' and obj_Text like '%\%d%' ESCAPE '\'