oracle sql';比如';查找特定的子字符串
使用oracle sql,我希望找到一个包含确切单词“SAN”或其复数(如果有的话)的文本。 所以我的尝试是:oracle sql';比如';查找特定的子字符串,sql,oracle,sql-like,Sql,Oracle,Sql Like,使用oracle sql,我希望找到一个包含确切单词“SAN”或其复数(如果有的话)的文本。 所以我的尝试是: select * from table a where upper(a.text_field) like '%SAN%' 但查询的结果之一是任何包含“san”的文本,例如: artisan partisan 但预期的结果应该是: abcde san fgeft san abcde abcde san(s) <- if there is a plural form abc
select *
from table a
where upper(a.text_field) like '%SAN%'
但查询的结果之一是任何包含“san”的文本,例如:
artisan
partisan
但预期的结果应该是:
abcde san fgeft
san abcde
abcde san(s) <- if there is a plural form
abcde san fgeft
圣阿卜德
abcde san(s)我更喜欢像这样的regexp
select *
from table a
where regexp_like(a.text_field,'\wsan\w', 'i')
\w
-表示单词边界,i
-不区分大小写
但是纯SQL可以使用所有单词边界排列,例如:
select *
from table a
where upper(a.text_field) like '% SAN %' or upper(a.text_field) like 'SAN %' or upper(a.text_field) like '% SAN' --- and so on