加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

如何编写一个SQL语句来为九个不同的值使用“LIKE”?

发布时间:2020-12-12 06:54:07 所属栏目:MsSql教程 来源:网络整理
导读:参见英文答案 Is there a combination of “LIKE” and “IN” in SQL?21个 我必须选择所有记录: where FIELD2 like '%value21%'or FIELD2 like '%value22%'or FIELD2 like '%value23%'-- repeat up toor FIELD2 like '%value29%' 这里,value21,…,value29是
参见英文答案 > Is there a combination of “LIKE” and “IN” in SQL?21个
我必须选择所有记录:
where FIELD2 like '%value21%'
or FIELD2 like '%value22%'
or FIELD2 like '%value23%'
-- repeat up to
or FIELD2 like '%value29%'

这里,value21,…,value29是用户在提交查询之前可以放入表单的参数.它们是(不是后续的)数字代码,FIELD2是包含字符串值的数据库列.

这是写下我的SQL查询最紧凑的形式?

注意:这与an earlier question有关,但这需要LIKE而不是equals.

解决方法

我担心你会被困在一起:
WHERE (FIELD2 LIKE '%value21' OR 
         FIELD2 LIKE '%value22' OR 
         FIELD2 LIKE '%value23' ...)

至少在标准SQL中(您的特定引擎可能提供某种形式的全文索引,这将有所帮助).

像这样的查询通常表示数据库设计中的规范化问题,其中多个值存储在单个字段值中.如果在您的情况下这是真的,并且您对数据库架构有任何程度的控制,我建议尽快解决问题.否则检查你的医疗保险,以确保它涵盖SQL引起的精神病 – 这可能会让你发疯.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读