从table1
中选择QUOTENAME(col1)显示null,但是具有值的表,Col1数据类型是varchar(2000)
答案 0 :(得分:2)
QUOTENAME作为参数SYSNAME,相当于NVARCHAR(128)。对于任何(N)VARCHAR字段,以下语句与QUOTENAME(不带参数)的作用相同:
select '['+REPLACE(col1,']',']]')+']' from table1
在评论中,您似乎事先并不知道列类型。首先转换为VARCHAR(MAX)可以起作用:
select '['+REPLACE(CAST(col1 AS VARCHAR(MAX)),']',']]')+']' from table1