MS SQL ='%'和' %%%'在where子句中的意思

时间:2016-01-12 19:49:59

标签: sql sql-server

在我所工作的公司的供应商数据库中,他们有一些我认为我从未见过的表达方式:

FROM CO_ITEM_MASTER WHERE smartpart_num = '%'

我见过= '%Text%' 而且我知道这意味着什么,但如果没有文字和'%'这意味着什么?

我也有以下内容:

AND (lower(CO_ITEM_MASTER.ITEM_NUM) like lower('%%%') 

'%%%'字符之间没有文字时,''是什么意思?

1 个答案:

答案 0 :(得分:3)

% means

  

匹配任何零个或多个字符的字符串。

因为零长度字符串匹配,所以可以根据需要重复多次而不影响语义,并返回ITEM_NUM不是NULL的任何行。

使用多个文件当然没有意义,也许这是由代码而不是人类生成的代码。