MRS HetuEngine 处理字符串中的特殊字符
【摘要】 背景:HetuEngine的字符串是用单引号包裹的,当进行字符串的处理,经常会碰到一些特殊字符,比如换行符、制表符、单引号等,本文将举例说明这些场景的处理方式。1.字符串中包含单引号,可以使用单引号对其转义,例如,查询字符串HetuEngine's syntax:hetuengine:default> select 'HetuEngine''s syntax'; _col0 ...
背景:HetuEngine的字符串是用单引号包裹的,当进行字符串的处理,经常会碰到一些特殊字符,比如换行符、制表符、单引号等,本文将举例说明这些场景的处理方式。
1.字符串中包含单引号,可以使用单引号对其转义,例如,查询字符串HetuEngine's syntax:
hetuengine:default> select 'HetuEngine''s syntax';
_col0
---------------------
HetuEngine's syntax
(1 row)
2.字符串中包含了制表符、换行符,HetuEngine提供了chr(n) 函数,用于返回Unicode编码为n的字符值,那么可以查询这些特殊字符对应的编码值,然后通过字符串拼接获得想要的字符串,示例中,两个HetuEngine中间是制表符,通过查看Unicode编码表,可知制表符对应编码十进制值为9,就可以通过“||”进行字符串拼接:
hetuengine:default> select 'HetuEngine'||chr(9)||'HetuEngine';
_col0
----------------------
HetuEngine HetuEngine
(1 row)
3.对于2的情况,还可以通过Unicode字符串表达式,更为直观,一个Unicode字符串是以U&为固定前缀,以4位数值表示的Unicode前需要加转义符,默认转义符为"\",也可以通过UESCAPE来指定转义符:
hetuengine:default> select U&'HetuEngine\0009HetuEngine';
_col0
----------------------
HetuEngine HetuEngine
(1 row)
hetuengine:default> select U&'HetuEngine#0009HetuEngine' UESCAPE '#';
_col0
----------------------
HetuEngine HetuEngine
(1 row)
4.查询结果中想要使用单引号包裹字符,可以使用quote函数,示例可以看到对比效果:
hetuengine:default> SELECT 'HetuEninge';
_col0
------------
HetuEninge
(1 row)
hetuengine:default> SELECT quote('HetuEninge');
_col0
--------------
'HetuEninge'
(1 row)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)