首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Presto搜索配置为不区分大小写?

如何将Presto搜索配置为不区分大小写?
EN

Stack Overflow用户
提问于 2017-03-17 06:05:16
回答 2查看 13.5K关注 0票数 12

在我的例子中,Presto连接到一个已配置为不区分大小写的MySQL数据库。但普雷斯托的任何搜索似乎都是区分大小写的。

问题:

1)是否有将Presto搜索配置为case-insensitive?的方法?如果没有,可以更改Presto连接器中的某些内容,使搜索不区分大小写吗?

2)如果底层DB不区分大小写,那么Presto搜索也不应该区分大小写吗?(我假设Presto只生成查询计划,实际执行发生在底层数据库上)

示例:考虑MySQL上的下表。

代码语言:javascript
复制
name
____
adam

Alan


select * from table where name like '%a%'
// returns adam, Alan on MySQL
// returns only adam on Presto

select * from table where name = 'Adam'
// returns adam on MySQL
// returns NIL on Presto
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-01 19:16:50

您必须显式要求大小写不敏感的比较,方法是将比较值规范化为-下限或-上限,如下所示:

代码语言:javascript
复制
select * from table where lower(name) like '%a%';

select * from table where lower(name) = lower('Adam');
票数 21
EN

Stack Overflow用户

发布于 2019-11-26 18:57:38

您可以使用regexp_like(),并将regexp与(?i)放在前面,以避免区分大小写。

代码语言:javascript
复制
select 
  * 
from table_name 
where 
  regexp_like(column_name, '(?i)fOO');  -- column contains fOO or FOO

代码语言:javascript
复制
select 
  * 
from table_name 
where 
  regexp_like(column_name, '(?i)^Foo'); -- column starts with fOO or FOO
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42850329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档