本文介绍了QUOTENAME 函数的反面是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 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]

这篇关于QUOTENAME 函数的反面是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-10 21:35