You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:DuckDB SQL语句中字符串需转义的字符有哪些

DuckDB字符串转义规则及SQL标准兼容性

1. SQL语句中字符串字面量的必填转义字符

  • 单引号('):这是核心转义需求。在单引号包裹的字符串中,要表示一个实际的单引号,必须用两个连续的单引号('')替代,示例:

    SELECT 'It''s a DuckDB string example';
    -- 输出结果:It's a DuckDB string example
    
  • 反斜杠(\):默认模式(standard_conforming_strings = true)下反斜杠是普通字符,直接写入即可;若启用非标准模式(standard_conforming_strings = false),反斜杠可作为转义符,此时要表示反斜杠本身需写\\。

2. 特殊字符的转义序列

DuckDB支持标准SQL的转义序列来表示不可打印字符,常用的包括:

  • \n:换行符
  • \t:制表符
  • \r:回车符
  • \b:退格符
  • \f:换页符

示例:

SELECT 'Line 1\nLine 2\tIndented content';
-- 输出结果会包含对应的换行和制表符格式

3. 与SQL标准的兼容性

DuckDB在字符串处理上基本遵循SQL:2003及后续标准:

  • 标准要求的单引号转义(用''表示')是DuckDB的默认行为,完全符合规范。
  • 默认开启的standard_conforming_strings = true模式下,反斜杠被视为普通字符,符合SQL标准定义。
  • 非标准模式(standard_conforming_strings = false)是兼容其他数据库习惯的扩展特性,不属于标准SQL内容。

内容的提问来源于stack exchange,提问作者Timmmm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 09:52:06