我在MySQL数据库中有一个表,我试图从中输出对象。我有一个单词列表,并且为了从表中输出一个对象,对象中没有任何单词"" Name"属性可以在列表中。
表示例(MyTable):
java
列表示例:
ID Name Atrib_1 Atrib_2 Atrib_3
1 Hello Kitty X 10 N
2 Green Chimp Y 280 Y
3 Chairs Blue X 14 N
4 Seven Teens X 342 N
5 Chair Bravo V 8 Y
我只想输出name属性中没有单词与列表中的单词匹配的对象 - 在上面的例子中,唯一的对象输出应该是名为" Chairs Blue"的对象。我尝试过使用:
Kitty, Green, Seven, Chair, Bravo
这个问题是我必须手动添加一个" NOT LIKE"对于列表中的每个单词。当它到达"主席","椅子蓝"被过滤掉了,因为字符串是部分匹配。
答案 0 :(得分:1)
SELECT *
FROM mytable m
LEFT JOIN
(
SELECT 'kitty' word
UNION ALL
SELECT 'green'
UNION ALL
SELECT 'seven'
) w
ON m.name RLIKE CONCAT('\\b', w.word, '\\b')
WHERE w.word IS NULL
答案 1 :(得分:1)
systemProp.http.nonProxyHosts=x.12.11.18
有趣的令牌是单词边界。 SELECT ...
FROM MyTable
WHERE Name NOT REGEXP '[[:<:]](Kitty|Green|Seven|Chair|Bravo)[[:>:]]';
表示“或”。