#azure #teradata #azure-synapse
Вопрос:
У меня есть следующий запрос со мной:
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;
Что было бы эквивалентно (ФОРМАТ ‘—(37)9’) в Azure Synapse Analytics?
Ответ №1:
Это действительно странный запрос (в том числе SUM(1)
вместо COUNT(*)
)
Он возвращает целое число в виде строки, выровненной по левому краю.
Если T2.C3 не является десятичным с дробными цифрами, вы можете просто удалить ФОРМАТ и ПРИВЕСТИ к VARCHAR(20).
Если T2.C3 имеет дробь, сначала ПРИВЕДИТЕ ее к ДВОИЧНОЙ или ДЕСЯТИЧНОЙ(38,0).