数仓如何设置大小写不敏感函数
摘要:本文旨在介绍DWS中存在的一些大小写不敏感函数,介绍大小写敏感GUC参数设置的使用和对应大小写敏感函数的结果展示。
本文分享自华为云社区《GaussDB(DWS) 大小写不敏感函数》,作者: 积少成多 。
1. 大小写不敏感函数
大小写不敏感函数是指入参忽略大小写的函数,此类函数的主要应用场景是字符串的查询。是否大小写敏感会影响字符串查询的结果。
涉及到字符串查询的函数有locate函数、position函数、strpos函数。locate函数返回字符串中子串第一次出现的位置。函数有两种参数接收方式:
1.输入被查询子串和查询字符串,不包含查询起始位置,默认从1开始。
2.输入被查询子串和查询字符串以及查询初始位置。
若能查询到子串,则返回其第一次出现的位置索引。若子串不在字符串中,返回0。
position函数和strpos函数与locate函数功能相近,区别在于函数入参和使用形式。
这些字符串处理函数是兼容MySQL中的字符串处理函数。而MySQL的字符串处理函数在MySQL默认情况下,是大小写不敏感的,也就是说入参忽略大小写情况进行查询,而DWS默认是大小写敏感的。
eg:select locate(‘pos’, ‘postest’), locate(‘Pos’, ‘postest’);
DWS结果:
MySQL结果:
2. 相关GUC参数
在MySQL中是通过底层设计实现入参大小写不敏感的,但在DWS的MySQL兼容性模式下,我们是通过设置GUC参数:SET behavior_compat_options=‘case_insensitive’,可使这些字符串处理函数入参大小写不敏感,兼容MySQL场景。
3. 结果展示
locate:
strpos:
position:
根据结果可以看出,通过设置GUC参数达到了预期入参字符大小写不敏感的目的。但是目前比较局限,无法通过内核全局设置,使所有入参都能达到大小写不敏感的目的。
想了解GuassDB(DWS)更多信息,欢迎微信搜索“GaussDB DWS”关注微信公众号,和您分享最新最全的PB级数仓黑科技,后台还可获取众多学习资料哦~
相关文章
- 如何在自己的信息管理系统里集成第三方权限控制组件 - 设计一个漂亮的WEB界面
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmUserEdit 添加评论功能页面效果
- C#.NET通用权限管理系统组件中用少数几行代码实现记录页面状态
- 通用权限管理系统组件 (GPM - General Permissions Manager) 中实现高性能的ASP.NET管理页面自动生成
- 详解SQL操作的窗口函数
- 华为AppCube通过中国信通院“低代码开发平台通用能力要求”评估!
- 带你学习MindSpore中算子使用方法
- 这道静态变量题,我居然考了0分
- 基于信息检索和深度学习结合的单元测试用例断言自动生成
- 勇往直前,做全能开发者,华为伙伴暨开发者大会2022精彩活动正式解锁!
- 剧透!2022开发者关注的开源技术全解析
- 错过了太后悔,九大绝招大公开,详解华为低时延技术
- DCM:一个能够改善所有应用数据交互场景的中间件新秀
- 前沿聚焦:2022最受关注的六大技术热词,你都知道吗?
- 开发一个社区网站,只要20分钟?
- HDFS 细粒度锁优化,FusionInsight MRS有妙招
- IoT技术的最后决战!百万大奖究竟花落谁家?
- 关于加密通道规范,你真正用的是TLS,而非SSL
- 深入解读SQL的聚集函数
- 实例讲解FusionInsight MRS RTD 实时决策引擎在医保行业应用