【问题标题】:T-SQL syntax: is "LIKE '%'" legitimate?T-SQL 语法:“LIKE '%'”合法吗?
【发布时间】:2021-02-10 18:46:36
【问题描述】:

如果我可以访问 SQL Server 实例或其他 SQL 数据库,我可以对此进行试验。

无论如何,我遇到了这个 SQL 服务器存储过程,其中有一个事实上的语句,例如:

some_field LIKE '%'

我认为这是一个合法的声明,但它会返回什么?我的看法是,无论 some_field 的值是什么,它总是返回 TRUE。

【问题讨论】:

  • 除非是null
  • 即这与some_field IS NOT NULL 相同。
  • 您可以随时在dbfiddle.uk上亲自尝试
  • 它会产生与IS NOT NULL 相同的结果,但它会慢得多,因为它不是 SARGable。
  • some_field 我猜是some_column 的简写? :)

标签: sql sql-server stored-procedures sql-like


【解决方案1】:
some_field LIKE '%'

将返回除 null 之外的所有值。同理:

some_field IS NOT NULL

【讨论】:

  • 我不知道为什么这会被否决。
  • 非常感谢@GordonLinoff。
  • 有趣的是它也匹配一个空字符串,当您查看文档时这是合乎逻辑的。
  • 如果这个回答对你有帮助,请采纳。这样这个问题就可以被标记为已回答。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-17
  • 1970-01-01
  • 2011-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-11
相关资源
最近更新 更多