2017-03-17 435 views
0

就我而言,Presto连接到已配置为不区分大小写的MySQL数据库。但通过Presto的任何搜索似乎都区分大小写。如何将Presto搜索配置为不区分大小写?

问题:

1)是否有配置普雷斯托搜索要区分在敏感的方法吗?如果不是,可以在Presto-MySQL连接器中进行更改以使搜索不区分大小写?

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

示例:考虑MySQL上的下表。

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 
+0

这是什么都与'facebook'做?标签已移除。 – CBroe

回答

1

你必须通过比较值要么归到更低,或到上,类似这样的明确要求区分大小写的比较:

select * from table where lower(name) like '%a%'; 

select * from table where lower(name) = lower('Adam');