SQL:如何搜索子字符串,除非该子字符串是特定单词的一部分?
SQL: How to search for a substring except in cases where that substring is a part of a specific word?
假设有包含以下文本的行 'med'、'medical'、'med medical'。
我想检索包含子字符串 'med' 的所有行,除非该子字符串是字符串 'abc medical def'.
的一部分
我想要的结果是只检索 'med' 和 'med medical' 因为它们包含子字符串 'med' 并且该子字符串不是 'medical'.[=12 的一部分=]
我可以使用 LIKE 'med%'
但那样会检索所有 3.
您可以简单地添加另一个条件:
SELECT * FROM table WHERE field LIKE 'med%' AND field <> 'medical';
如果您使用 Like 'med%'
,那将 return 字段以 med
开头的数据。它将排除其他数据。所以你可以使用:
SELECT * FROM table WHERE field LIKE 'med%' AND field != 'medical'
假设有包含以下文本的行 'med'、'medical'、'med medical'。
我想检索包含子字符串 'med' 的所有行,除非该子字符串是字符串 'abc medical def'.
的一部分我想要的结果是只检索 'med' 和 'med medical' 因为它们包含子字符串 'med' 并且该子字符串不是 'medical'.[=12 的一部分=]
我可以使用 LIKE 'med%'
但那样会检索所有 3.
您可以简单地添加另一个条件:
SELECT * FROM table WHERE field LIKE 'med%' AND field <> 'medical';
如果您使用 Like 'med%'
,那将 return 字段以 med
开头的数据。它将排除其他数据。所以你可以使用:
SELECT * FROM table WHERE field LIKE 'med%' AND field != 'medical'