问题描述
在 SQL Server 中有一个内置函数,它为您引用一个标识符,称为 引用名.是否有相反的功能并再次删除引号?
In SQL Server there is a built in function that quotes an identifier for you called QUOTENAME. Is there a function that does the opposite and removes the quotes again?
换句话说,在下面的代码示例中,我应该用什么替换 SOMEFUNCTION 以使其为我可以将 @name 初始化为的任何值返回 1?
In other words what do I replace SOMEFUNCTION with in the following code example to get it to return 1 for any value I could initialize @name to?
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]