如何对varchar(max)字段使用引号?

时间:2018-01-17 10:20:40

标签: sql-server

从table1

中选择QUOTENAME(col1)

显示null,但是具有值的表,Col1数据类型是varchar(2000)

1 个答案:

答案 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