【问题标题】:How to check whether column in table contains any of a set of values?如何检查表中的列是否包含一组值?
【发布时间】:2012-08-14 13:47:52
【问题描述】:

如果我有一组字符串,什么 SQL 语句将确定在表的一列中找到哪些字符串?

我希望它返回找到了哪些字符串,如果没有找到,则返回 Null

【问题讨论】:

  • 你有一个“集合”。一张桌子?在另一个程序中?逗号分隔列表?另外,在使用 SQL 标记某些内容时,请务必说明 RDBMS,SQL 只是一种具有多种实现的语言。每个人都有解决问题的独特方法
  • @Ben:请 ANSI-89 1 级。这组字符串可以用任何你想要的方式表示。逗号分隔的列表很好。
  • SQL-2003 将 MySQL 不支持的窗口函数定义为 ANSI 标准的一部分......如果要针对特定​​的 RDBMS 运行,最好说明它。
  • @Ben:ANSI-89 是我需要的。
  • @habibzare:不,我需要搜索表格的一列

标签: sql set contains


【解决方案1】:
SELECT DISTINCT Column1 FROM Table1 WHERE Column1 IN ("String1","String2","String3")

【讨论】:

  • “找到了哪些字符串,如果没有找到则为 Null”:可能需要在其上添加 DISTINCT,并且还要注意,如果没有找到字符串,这将不会返回 NULL;它将返回 Null (Empty) 集。
猜你喜欢
  • 2012-03-26
  • 1970-01-01
  • 2022-12-06
  • 2023-03-26
  • 2012-09-04
  • 1970-01-01
  • 2013-09-30
  • 2012-09-17
  • 2021-06-06
相关资源
最近更新 更多