注册
创建临时表时,在不同版本使用to_char('')会有不同结果
技术分享/ 文章详情 /

创建临时表时,在不同版本使用to_char('')会有不同结果

我贼费解 2025/09/05 15 0 0

客户提出在新老版本中,相同的SQL执行以后,老版本不报错,新版本报错;
SQL如下:
CREATE GLOBAL TEMPORARY TABLE GTMP___CWGYSMX_a7 ON COMMIT PRESERVE ROWS AS
select 12131 as F_ID, to_char(’’) as F_DJLX;

1、老版本执行以后的结果:
image.png

当前版本号:03134284094-20231223-213044-20067

2、比较新版本执行以后的结果:
image.png

3、上述两个截图的COMPATIBLE_MODE值都为3

4、经过本地测试验证:执行如下SQL不会报错(to_char的’‘里面加个空格):
CREATE GLOBAL TEMPORARY TABLE GTMP___CWGYSMX_a7 ON COMMIT PRESERVE ROWS AS
select 12131 as F_ID, to_char(’ ') as F_DJLX;
image.png
5、本质就是在创建临时表时,新版本不能设置字段的类型为varchar(0)

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服