如何对区分大小写的字符串进行比较

Posted

技术标签:

【中文标题】如何对区分大小写的字符串进行比较【英文标题】:How to do like compare on case sensitive string 【发布时间】:2019-06-25 14:07:58 【问题描述】:
select http_host,user_agent,date,path, count(*)
FROM "public"."bus_request" 
where app_name = 'yyyy' and event_type <> 'browser_js' 
    and date <= GETDATE() and date>= GETDATE()-14 and request_score <> '80' 
    and path  '%login%' COLLATE SQL_Latin1_General_Cp1_CS_AS

group by http_host,path, date, user_agent
order by http_host,date,count desc

我收到错误:SQL 错误 [500310] [42601]:Amazon 无效操作:“COLLATE”处或附近出现语法错误 位置:239;

【问题讨论】:

缺少LIKE 我根据错误信息添加了amazon-redshift标签。如果您使用不同的 Amazon 数据库服务,请更改它 and path like '%login%' COLLATE SQL_Latin1_General_Cp1_CS_AS 最有可能 仍然得到 - 无效操作:“COLLATE”位置或附近的语法错误:243;我添加了我忘记的东西,但仍然是同样的错误 【参考方案1】:

默认应区分大小写,如documentation中所述:

path like '%login%' 

如果不区分大小写,请使用ilike:

path ilike '%login%' 

【讨论】:

以上是关于如何对区分大小写的字符串进行比较的主要内容,如果未能解决你的问题,请参考以下文章

字符串的字典比较[不区分大小写]

mysql模糊查询区分大小写

如何执行不区分大小写的字符串比较? [复制]

如何在 MySQL 上进行 SQL 区分大小写的字符串比较?

Swift3.0语言教程比较判断字符串

== 在 PHP 中是区分大小写的字符串比较吗?