在SQL Server中,有一个内置函数为您引用一个称为QUOTENAME的标识符。是否有相反的功能并再次删除引号?

换句话说,在下面的代码示例中,我将SOMEFUNCTION替换为什么,以使其对于可以初始化@name的任何值返回1?

declare @name nvarchar(50) = 'hello]'

select
    case
        when SOMEFUNCTION(QUOTENAME(@name)) = @name then 1
        else 0
    end

最佳答案

使用 PARSENAME :

declare @name sysname = quotename('foo]');
print @name;
set @name = parsename(@name, 1);
print @name;


[foo]]]
foo]

09-28 14:42