Matillion中无法将类日期时间字符串变量设为列值
解决Matillion SQL脚本组件中日期时间变量赋值的语法错误
问题分析
你用硬编码的带单引号日期时间字符串时SQL能正常执行,但引用变量时触发语法错误,核心原因是变量替换后的值没有被单引号包裹。当${fecha_insercion}替换为2022-12-06 19:28:51后,实际执行的SQL会变成:
UPDATE "DB_MX_DEV"."STAGING".${target_table} SET insertion_date = (2022-12-06 19:28:51);
SQL会把无引号的2022-12-06解析成算术运算,空格后的19等字符就会触发语法错误,这和变量类型设为text或datetime无关。
解决方案
把变量用单引号包裹,修改后的SQL代码如下:
UPDATE "DB_MX_DEV"."STAGING".${target_table} SET insertion_date = '${fecha_insercion}';
变量替换后会生成和测试代码一致的格式,日期时间值会被正确识别为字符串/日期字面量,就能正常执行更新操作。
内容的提问来源于stack exchange,提问作者brenda
相关产品推荐
相关产品推荐

