重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 357|回复: 0
打印 上一主题 下一主题

PG中美元符号引用的字符串常量

[复制链接]
跳转到指定楼层
楼主
发表于 2025-8-22 10:01:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 郑全 于 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 仍推荐使用单引号(')定义字符串常量。

如果需要编写跨数据库兼容的代码,建议优先使用标准单引号方式。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-18 00:17 , Processed in 0.258300 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表