2

我想知道我可以使用哪个表达式like,它总是匹配的。也就是说,它实际上并没有过滤掉任何东西。

例如,假设如果以下 SQL 返回 1000 条记录...

select * from rts.Address

...那么这也应该返回 1000 条记录...

select * from rts.Address where StreetName like 'likeExpressionHere'

我尝试使用这个:

select * from rts.Address where StreetName like '%%'

..但这仍然做了一些过滤(即一些记录丢失)..

此外,表中的StreetName值都不rts.Address是空值(即它们都有一些 varchar 值)

4

3 回答 3

4

这将取决于您的数据,但where Streetname like '%'应该可以工作。

例如,如果该列可以为空,则需要添加

where StreetName like '%' OR StreetName IS NULL

于 2013-04-17T14:36:50.070 回答
2

你的问题不是like应该工作的。最有可能的StretName是 NULL 值。

你不能用like来解决这个问题,尽管你可以这样做:

where coalesce(StreetName, '<NULL>') like '%'
于 2013-04-17T14:39:14.073 回答
0

这个问题似乎很笼统。提供更多信息,例如表格的内容。也可以根据您的需要调整 sql 中的类似或位置,因此这应该没什么大不了的。下面是通配符 描述 % 替代零个或多个字符 _ 恰好替代一个字符 [charlist] charlist 中的任何单个字符 [^charlist] 或

[!charlist]

不在 charlistd 卡使用表中的任何单个字符。请参考相同的更多信息

于 2013-04-17T14:38:09.023 回答