SQLServer中QUOTENAME函数返回带有分隔符的 Unicode 字符串,分隔符的加入可使输入的字符串成为有效的 SQL Server 分隔标识符。

SQLServer中QUOTENAME函数返回带有分隔符的 Unicode 字符串,分隔符的加入可使输入的字符串成为有效的 SQL Server 分隔标识符。

适用于:

  • SQL Server
  • Azure SQL 数据库
  • Azure SQL 托管实例
  • Azure Synapse Analytics 分析平台系统 (PDW)
  • Microsoft Fabric 中的 SQL 分析端点
  • Microsoft Fabric 中的仓库

1、语法

sql 复制代码
QUOTENAME ( 'character_string' [ , 'quote_character' ] )

2、参数

sql 复制代码
'character_string'
Unicode 字符数据构成的字符串。 character_string 是 sysname,且最多具有 128 个字符 。 超过 128 个字符的输入将返回 NULL。

'quote_character'
用作分隔符的单字符字符串。 可以是单引号 (')、左方括号或右方括号 ([])、双引号 (")、左圆括号或右圆括号 (())、大于或小于符号 (><)、左大括号或右大括号 ({}) 或反引号 (`)。 如果提供了不可接受的字符,则返回 NULL。 如果未指定 quote_character,则使用方括号 。

3、返回类型

sql 复制代码
nvarchar(258)

4、示例

以下示例接受字符串 abc\[\]def 并使用 字符来创建有效的 SQL Server 分隔标识符。

sql 复制代码
SELECT QUOTENAME('Super-abc[]def') AS result_v1;
-- 返回执行结果,请注意,字符串 Super-abc[]def 中的右方括号有两个,用于指示转义符。
result_v1
-----------------------------------
[Super-abc[]]def]

(1 行受影响)

下面的示例准备一个用引号引起来的字符串,用于对列命名。

sql 复制代码
DECLARE @columnName NVARCHAR(255)='user''s "custom" name'
DECLARE @sql NVARCHAR(MAX) = 'SELECT top 10 FirstName,FirstName AS ' + QUOTENAME(@columnName) + ' FROM Person.Person '

EXEC sp_executesql @sql
-- 执行返回结果
FirstName                                          user's "custom" name
-------------------------------------------------- --------------------------------------------------
Syed                                               Syed
Catherine                                          Catherine
Kim                                                Kim
Kim                                                Kim
Kim                                                Kim
Hazem                                              Hazem
Sam                                                Sam
Humberto                                           Humberto
Gustavo                                            Gustavo
Pilar                                              Pilar

(10 行受影响)

Azure Synapse Analytics 和 Analytics Platform System (PDW)
以下示例接受字符串 abc def 并使用 字符来创建有效的 SQL Server 分隔标识符。

sql 复制代码
SELECT QUOTENAME('superdb_abc def') AS result_v1;
-- 执行返回结果
result_v1
-----------------------------------------
[superdb_abc def]

(1 行受影响)
相关推荐
北极星日淘11 分钟前
Python代理池动态适配日淘爬虫|解决高频抓取IP封禁终极方案(含完整源码)
爬虫·python·tcp/ip
popcorn_min24 分钟前
Breast Cancer 二分类实验:随机森林预测乳腺肿瘤良恶性
python
半只小闲鱼33 分钟前
合并多个excel文件到一个文件中
前端·python·数据分析
hikktn33 分钟前
ORA-01861 日期格式错误的根治方案:从 SQL 层到 Java 层的标准化治理
java·python·sql
lg_cool_38 分钟前
使用conda管理python运行环境并关联vscode
vscode·python·conda
宸津-代码粉碎机1 小时前
Spring AI企业级实战|智能记忆摘要+自动遗忘机制落地,彻底解决上下文爆炸与Token冗余
java·大数据·人工智能·后端·python·spring
乘浪初心1 小时前
python调用API接口,免费API调取,学习如何调取API接口并反馈你输入的内容
开发语言·python·api·免费
AI玫瑰助手1 小时前
Python模块:import导入模块与模块的搜索路径
android·开发语言·python
傻啦嘿哟1 小时前
一篇文章讲清楚Python的变量作用域
开发语言·python
装不满的克莱因瓶1 小时前
学习 LPRNet 框架——轻量级车牌识别网络从结构到工程落地
人工智能·python·深度学习·机器学习·ai