gpt4 book ai didi

mysql - 包含/排除字符的 SQL 查询

转载 作者:太空宇宙 更新时间:2023-11-03 11:32:19 24 4
gpt4 key购买 nike

我有一个字典表“dictionary”,其中列“word”包含所有英文单词的列表。

我想查找仅包含特定字母字符的所有单词并排除字母表的其余部分。我能够这样做(参见下面的示例),但如您所见,它非常丑陋。

示例

目前要查找包含字母“a”、“b”、“c”、“x”、“y”、“z”但排除其余字母的所有单词,我这样做:

SELECT word 
FROM dictionary
WHERE (
word LIKE '%a%'
OR word LIKE '%b%'
OR word LIKE '%c%'
OR word LIKE '%x%'
OR word LIKE '%y%'
OR word LIKE '%z%'
) AND (
word NOT LIKE '%d%'
AND word NOT LIKE '%e%'
AND word NOT LIKE '%f%'
AND word NOT LIKE '%g%'
AND word NOT LIKE '%h%'
AND word NOT LIKE '%i%'
AND word NOT LIKE '%j%'
AND word NOT LIKE '%k%'
AND word NOT LIKE '%l%'
AND word NOT LIKE '%m%'
AND word NOT LIKE '%n%'
AND word NOT LIKE '%o%'
AND word NOT LIKE '%p%'
AND word NOT LIKE '%q%'
AND word NOT LIKE '%r%'
AND word NOT LIKE '%s%'
AND word NOT LIKE '%t%'
AND word NOT LIKE '%u%'
AND word NOT LIKE '%v%'
AND word NOT LIKE '%w%' )

有什么方法可以使用某种形式的正则表达式或其他优化来完成此任务?任何技巧或提示将不胜感激。

最佳答案

您可以使用 REGEXP

实现它
SELECT `word `
FROM `dictionary`
WHERE `word` REGEXP '[abcxyzABCXYZ]'
AND `word` NOT REGEXP '[defghijklmnopqrstuvwDEFGHIJKLMNOPQRSTUVW]'

关于mysql - 包含/排除字符的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48821738/

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