你好,麻烦问一下dataworks中adb for mysql节点,sql逻辑中含有分号,应该怎么转义啊?运行时自动把代码截断了?
在dbeaver中可以执行
在DataWorks中,ADB for MySQL节点中的SQL逻辑中含有分号时,您可以通过转义分号的方式来解决截断的问题。下面是一种常用的转义分号的方法:
在SQL逻辑中,将分号(;)替换为两个连续的分号(;;)。这样,DataWorks在运行时就会将两个连续的分号(;;)视为转义的分号,而不会将其作为SQL语句的结束符。
原句 复制到adb 本身能执行成功吗 ,在数据集成同步任务配置中如果字段名或表名涉及到了关键字、大小写英文、中划线(-)、斜杆(/)、特殊符号等,可以在任务配置中对字段名或表名加转义符进行转义。
【常见的转义符列表】
json转义符:反斜杠\
PostgreSQL、HANA转义符:双引号""
MaxCompute、MySQL转义符:反单引号``
【添加转义符的方式】
方式一:向导模式>字段映射编辑
方式二:转脚本模式在json中对字段名加转义符。
注意:如果转义符是双引号的,由于双引号是json的关键字所以还需要对双引号再做一次转义,比如:"column":["your_column_name"] 转义后 "column":["\"your_column_name\""]
【转义举例】
PostgreSQL表名称为123Test,转义符为双引号,但双引号本身是json关键字,json转义符是反单引号,所以转义后表名称为"123Test"
当SAP HANA Reader中字段名称包含斜杠(/),需要使用反斜杠加双引号("your_column_name")进行转义,例如,字段名称为/abc/efg,则转义后字段名称为"/abc/efg"
,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。