所以我有一个查询,我试图在citalopram
列或celexa
列中获取包含单词medication
或单词generic
的行。
首先我尝试了:
where
( medication ilike '%citalopram%' or
generic ilike '%citalopram%' or
medication ilike '%celexa%' or
generic ilike '%celexa%')
所有人都找到了,但是,它还选择了包含药物escitalopram
的行。所以我更改了查询,使其如下所示:
where
( medication ilike '%citalopram%' or
generic ilike '%citalopram%' or
medication ilike '%celexa%' or
generic ilike '%celexa%') and
medication not ilike '%escitalopram%' and
generic not ilike '%escitalopram%'
现在,确实它消除了包含escitalopram
的行,但现在有时会忽略具有以下内容的行:
CeleXa 40mg oral tablet
,通用= null
citalopram 40mg oral tablet
,通用= null
等
不确定为什么这可能是问题所在。任何建议将不胜感激!
答案 0 :(得分:0)
为什么不:
where
concat(' ',medication,' ',generic) ilike '% citalopram%'
or
concat(' ',medication,' ',generic) ilike '% celexa%'
在列之前放置空格,所以如果列值以单词开头,它仍然会有空格