create function dbo.udf_UnQuoteName(@name nvarchar(258)) returns sysname
as
/*
** Performs the inverse of the built-in QUOTENAME function.
*/
begin
declare @r sysname
if (left(@name, 1) = N'[' and right(@name, 1) = N']')
begin
-- @Name appears to be quoted, so remove first and last character and doubled closing quotes.
set @r = replace(substring(@name, 2, len(@name) - 2), N']]', N']')
end
else
begin
-- @Name does not appear to be quoted so just return the input.
set @r = @name
end
return @r
end
go
-- Tests / Examples
print dbo.udf_UnQuoteName('[SomeName]')
go