我正在将数据库从Oracle迁移到Microsoft SQL Server。
wm_concat()
在SQL Server中不起作用,因为我使用了
DECLARE @Names VARCHAR(8000)
SELECT @Names = COALESCE(@Names + ', ', '') + alca_kiosk_machines.kiosk_machine_name
FROM alca_kiosk_machines;
PRINT @Names
但是如何在select (name, id, coalesce(machineNames))
答案 0 :(得分:1)
如果您使用的是SQL Server 2017或更高版本,则不能使用STRING_AGG
函数:
SELECT STRING_AGG(kiosk_machine_name)
FROM alca_kiosk_machines
答案 1 :(得分:0)
尝试一下:
DECLARE @Names VARCHAR(8000)
SELECT @Names = STUFF
(
(
SELECT ',' + kiosk_machine_name
FROM alca_kiosk_machines
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1
,1
,''
)
PRINT @Names