gpt4 book ai didi

like和in的SQL查询组合?

转载 作者:行者123 更新时间:2023-12-04 20:55:45 29 4
gpt4 key购买 nike

a. Select * from tableA where columnA like '%complete%';
b. Select * from tableA where columnA in ('complete','request');

A 列的可能值是complete、completed、request、request.......

我的目标是查询那些值complete, completed, request, requested

通常我们会写查询where columnA in ('complete','completed','request','requested');

有没有办法编写一个更短的查询,例如 Select * from tableA where columnA in like (%complete%, %request%)

最佳答案

你需要使用多个OR:

select * 
from tableA
where columnA like '%complete%'
or columnA like '%requested%'
or ...

使用连接:

SELECT *
FROM tableA t
JOIN VALUES (('%complete%'), ('%requested%'), ...) v(c)
ON t.columnA LIKE v.c

请注意,搜索模式 %phrase% 不支持 SARG,查询优化器不会在该列上使用索引(如果存在)。

您应该考虑使用 Full-Text Search

关于like和in的SQL查询组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32501731/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com