用例:我想从表t123中选择所有条目,其中表的字段“text”不是“text\u target”的子集字符串。例如:
text_target = 'abf'
t123的条目如下:,
name text 1) record1 abc 2) record2 abd 3) record3 af
结果应该是记录1和记录2,因为它们的“text”字段不是text\u目标值“abf”的子集。编辑:更正了问题
7vhp5slm1#
使用正则表达式。例如,如果我们假设您要从“text\u target”(“abf”)检索不包含字符的记录:
SELECT * FROM t123 WHERE NOT text RLIKE "a|b|f"
ecr0jaav2#
不是很优雅,但我想:
select * from t123 where not ( substring( text from 1 for 1 ) in ( 'a', 'b', 'f', ' ' ) and substring( text from 2 for 1 ) in ( 'a', 'b', 'f', ' ' ) and substring( text from 3 for 1 ) in ( 'a', 'b', 'f', ' ' ) )
可以返回包含其他字母的行。
y3bcpkx13#
我想你得把绳子解开:
where ( (test like '%a%') + (test like '%b%') + (test like '%f%') ) <> length(test)
即使是正则表达式也没有明显的帮助。然而,将字符串视为每个字母有一个元素的集合听起来像是一个数据建模问题。您可能想问另一个问题,描述您的数据,并就如何设计数据库提出建议。这是一个测试仪(感谢蒂姆)。
jum4pzuy4#
使用 like ```select * from t123 where text like'ab%'
like
4条答案
按热度按时间7vhp5slm1#
使用正则表达式。例如,如果我们假设您要从“text\u target”(“abf”)检索不包含字符的记录:
ecr0jaav2#
不是很优雅,但我想:
可以返回包含其他字母的行。
y3bcpkx13#
我想你得把绳子解开:
即使是正则表达式也没有明显的帮助。
然而,将字符串视为每个字母有一个元素的集合听起来像是一个数据建模问题。您可能想问另一个问题,描述您的数据,并就如何设计数据库提出建议。
这是一个测试仪(感谢蒂姆)。
jum4pzuy4#
使用
like
```select * from t123 where text like'ab%'