DM 单引号、双引号
1、单引号 ('
)
- 用途:字段值、字段注释、数据库表注释 必须 带单引号。
2、双引号 ("
)
- 用途:字段名、字段别名、数据库表名可以带双引号,也可以不带,但是如果是关键字,就必须带双引号,为了适用于各种情形建议带上双引号。
- 注意:在大小写敏感情况下,若表名不加双引号,系统会自动将表名转化为全大写;若表名加双引号,则创建成功后的表名和引号内的表名完全一致。
- 示例:如
Order
表,在大小写不敏感的情况下,加不加双引号没有区别,如果是大小写敏感,如果不加双引号,则表名会转变成ORDER
,加上双引号,则是Order
。
3、反引号 ( \
`)
达梦不支持使用反引号作为标识符的界定符,因此在使用其他数据库系统(如MySQL)迁移到达梦数据库时,需要特别注意这一点,并相应地调整SQL语句。
4、反斜杠 (\
或 \\
)
- 用途:在某些特定的上下文或配置中,反斜杠可能被用作转义字符,但达梦数据库的官方文档并未明确指出其作为标准SQL转义符的使用。更多时候,它是操作系统层面的文件路径分隔符或在某些编程语言中的转义符。
- 注意:在达梦数据库的SQL语句中直接使用反斜杠进行转义的情况较为少见,具体行为可能需要参考当前版本的官方文档或实际测试。
5、特殊字符的转义
- 对于像
%
,_
,[
,]
,'
,"
等在LIKE子句中具有特殊意义的字符,如果需要将其作为字面值匹配,可以使用 ESCAPE 子句来定义一个转义字符。- 示例:
SELECT * FROM table WHERE column LIKE 'abc\%def' ESCAPE '\';
这里\%
表示匹配实际的%
字符。
- 示例:
总结
- 在大多数情况下,达梦数据库遵循标准的SQL语法,使用单引号来包围字符串,而不需要额外的转义符号来处理普通标识符。
- 当遇到与保留字冲突的标识符时,可以考虑使用双引号(尽管这不是必需的,因为达梦数据库支持不区分大小写的标识符)。
- 对于特殊的转义需求(如在LIKE子句中),应使用ESCAPE子句来定义转义字符。
DM 单引号、双引号
https://flepeng.github.io/042-国产-DM-达梦数据库-21-命令-DM-单引号、双引号/