注册

不同达梦版本PIVOT运行情况疑问

加了椰子汁的冰 2025/02/14 287 5 已解决

【DM版本】: 达梦8
【操作系统】:Windows server 2012
【问题描述】:

1. 版本1数据库id_code如下:

image.png
运行sql:

	SELECT* FROM (
		      		SELECT 'YES' AS "Object")t
		      PIVOT( COUNT(1) FOR t."Object" IN('YES' as YES, 'NO' as NO)) AS p 	

运行结果正常:
image.png

2.版本2数据库id_code如下:

image.png
在这个版本运行版本1一样的SQL,PIVOT会显示无效
image.png

在实际排查版本2问题过程中发现因为“OBJECT”是关键字会导致PIVOT失效,如果字段别名换成非关键字则可以避免这个问题,如下所示
image.png

但是无论版本1还是版本2普通SELECT语句别名使用到关键字只要加上双引号“”是能正常运行的,但是只有版本2的PIVOT语法会出现上述情况
image.png

一开始怀疑是否是数据库参数配置问题,但是看了一圈版本1和版本2的数据库参数配置列表没能找到,所以请问这是数据库版本BUG还是说我没有找到正确配置项?

回答 0
暂无回答
扫一扫
联系客服