在下面的查询中,我想将 Dense Rank 函数转换为 nvarchar(255) 但它给出了语法错误。我有以下问题-
- 是否可以强制转换从密集排名函数返回的值?
- 如果是,语法是什么?
SELECT cast('P' AS NVARCHAR(3)) AS ADDRESS_TYPE_CD,
DENSE_RANK() OVER(PARTITION BY [CUSTOMER KEY]
ORDER BY [PRIMARY ADDRESS LINE 1],
[PRIMARY ADDRESS LINE 2],
[PRIMARY ADDRESS LINE 3] + [PRIMARY ADDRESS LINE 4],
[PRIMARY CITY],
[PRIMARY STATE],
[PRIMARY ZIP],
[PRIMARY COUNTRY] ) AS ADDRESS_FLAG,
[CUSTOMER KEY],
[PRIMARY ADDRESS LINE 1] AS PA1,
CASE
WHEN [PRIMARY ADDRESS LINE 1] = [PRIMARY ADDRESS LINE 2] THEN NULL
ELSE [PRIMARY ADDRESS LINE 2]
END AS PA2,
[PRIMARY ADDRESS LINE 3] + [PRIMARY ADDRESS LINE 4] AS PA3,
[PRIMARY CITY] AS PCity,
[PRIMARY STATE] AS PS,
[PRIMARY ZIP] AS PZ,
[PRIMARY COUNTRY] AS PC
FROM mtb.DBO.EnrichedFile
WHERE APPLICATION <> 'RBC'