问题描述
我有以下问题:
SELECT T1.C1,CAST((SUM(1) OVER (ORDER BY T1.C2 ROWS UNBOUNDED PRECEDING) + T2.C3 (FORMAT '--(37)9') AS VARCHAR(20) )) AS RESULT
FROM
T1
CROSS JOIN
T2;
Azure Synapse Analytics 中 (FORMAT '--(37)9') 的等价物是什么?
解决方法
这是一个非常奇怪的查询(包括 SUM(1)
而不是 COUNT(*)
)
它返回一个整数作为左对齐的字符串。
除非 T2.C3 是带小数的小数,否则您可以简单地将 FORMAT 和 CAST 删除为 VARCHAR(20)。
如果 T2.C3 有小数,首先 CAST 为 BIGINT 或 DECIMAL(38,0)。