字符串比较问题在 Postgres 中包含“_”
Issue with string comparison contains "_" in Postgres
比较 _
符号时在 Postgres(版本 11)中出现比较问题。
我有一个字符串(如下所示)我想让它与一个词进行比较,并想检查这个词_WIN_
是否存在于字符串中。如果是,它应该给出 true。
但是当我这样搜索时 '%_WIN_%'
即使搜索到的字符串不完全包含这个词,它也会给出 TRUE。
任何人都可以提出我做错了什么吗?
select 'New_vit_Vitamin_D_IND-tonline_WINTERSEAS_2020.02.09' ILIKE '%_WIN_%'
注意:预期结果应为 FALSE,但给出的结果为 TRUE
下划线是SQL中单个字符的通配符。如果要搜索字符本身,则需要对其进行转义:
ILIKE '%\_WIN\_%' ESCAPE '\'
比较 _
符号时在 Postgres(版本 11)中出现比较问题。
我有一个字符串(如下所示)我想让它与一个词进行比较,并想检查这个词_WIN_
是否存在于字符串中。如果是,它应该给出 true。
但是当我这样搜索时 '%_WIN_%'
即使搜索到的字符串不完全包含这个词,它也会给出 TRUE。
任何人都可以提出我做错了什么吗?
select 'New_vit_Vitamin_D_IND-tonline_WINTERSEAS_2020.02.09' ILIKE '%_WIN_%'
注意:预期结果应为 FALSE,但给出的结果为 TRUE
下划线是SQL中单个字符的通配符。如果要搜索字符本身,则需要对其进行转义:
ILIKE '%\_WIN\_%' ESCAPE '\'