MS SQLServer搜索以查看一个值是否包含在其他值中

时间:2018-08-30 18:08:27

标签: sql-server-2008-r2

我来自PostgreSQL的背景。

如果我想在所有表的所有列中搜索值中某处包含“ the”的任何列名,则可以这样做:

select *
from information_schema.columns
where column_name ilike '%the%'

这在SQL Server 2008 R2中不起作用,有人有任何建议吗?到目前为止,我正在运行此查询:

select t.name as table_name, c.name as column_name
from sys.tables as t
inner join
    sys.all_columns as c
on
    c.object_id = t.object_id

where t.name ilike '%the%'

order by c.name, t.name;

t.name与'%the%'相似的地方使查询失败并显示以下错误消息:

  

在上下文中指定的非布尔类型的表达式,其中   情况可能会在“ ilike”附近。

有人有什么建议吗?

谢谢

1 个答案:

答案 0 :(得分:1)

ilike在SQL Server中不存在,您可以改用lik​​e。