重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛
标题:
PG中美元符号引用的字符串常量
[打印本页]
作者:
郑全
时间:
2025-8-22 10:01
标题:
PG中美元符号引用的字符串常量
本帖最后由 郑全 于 2025-8-22 10:13 编辑
在 SQL 中,美元符号($)并非标准 SQL 定义的字符串常量引用方式
,但是PG数据库系统的扩展语法,用于简化字符串中的引号处理。
美元符号引用(Dollar-Quoted String Constants)的用法如下:
1.基本格式
用 $tag$ 和 $tag$ 包裹字符串,其中 tag 是可选的标识符(可省略):
-- 不带标识符
$$这是一个字符串$$
-- 带标识符(更清晰,尤其在嵌套场景)
$str$包含单引号'和双引号"的字符串$str$
2.优势
避免了标准单引号字符串中对引号的转义需求。例如,标准写法需要用两个单引号表示一个单引号:
-- 标准写法(需要转义)
'He said ''Hello''';
-- 美元符号写法(无需转义)
$$He said 'Hello'$$;
3.适用场景
常用于存储过程、函数中包含大量引号的字符串,或 SQL 脚本中的多行文本。
需要注意的是:
这只是 PostgreSQL 等数据库的非标准扩展,并非所有数据库支持(如 MySQL、SQL Server 不支持)。
标准 SQL 仍推荐使用单引号(')定义字符串常量。
如果需要编写跨数据库兼容的代码,建议优先使用标准单引号方式。
欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/)
Powered by Discuz! X3.2