当前位置: 首页 > news >正文

常用 SQL 转义符的总结

常用 SQL 转义符一览表

字符转义方法示例适用场景数据库差异说明
单引号 '''(双单引号)或 CHR(39)'It''s a test'字符串内包含单引号通用(MySQL、SQL Server、Oracle等)
双引号 """(双引号)或 CHR(34)SELECT "column""name" FROM "table"包含空格/保留字的字段名或表名主要用于 Oracle、PostgreSQL
反斜杠 \\\(双反斜杠)或 CHR(92)'C:\\Program Files\\'路径、正则表达式中的转义MySQL、PostgreSQL(需配置参数)
百分号 %\%(反斜杠转义)或 CHR(37)LIKE '100\%' ESCAPE '\'LIKE 模糊查询中匹配百分号本身通用(需配合 ESCAPE 关键字)
下划线 _\_(反斜杠转义)或 CHR(95)LIKE 'foo\_bar' ESCAPE '\'LIKE 模糊查询中匹配下划线本身通用
美元符号 $$$(双美元符号)或 CHR(36)'$${variable}$$'字符串内保留 ${} 结构PostgreSQL、TDSQL-PG
方括号 [ ][[]](双左/右括号)或 CHR(91)/CHR(93)SELECT [column[name]] FROM [table]SQL Server 中字段名包含特殊字符SQL Server 特有
换行符\n(反斜杠转义)或 CHR(10)'Line1\nLine2'字符串内换行MySQL、PostgreSQL
制表符\t(反斜杠转义)或 CHR(9)'Name\tAge'字符串内制表符MySQL、PostgreSQL
& 符号 &CHR(38)'AT&T' → `‘AT’CHR(38)

补充说明

  1. CHR() 函数的优势
    • 通过 ASCII 码直接生成字符,完全避免符号被解析为语法元素(如 CHR(36) 生成 $)。

    • 适用于动态 SQL 拼接或需硬编码特殊字符的场景。

  2. 数据库差异处理
    • MySQL:默认用反斜杠转义,字段名可用反引号包裹(如 `order`)。

    • PostgreSQL:支持 $$ 符号包裹字符串(如 $$${projectName}$$)。

    • SQL Server:优先使用方括号转义字段名(如 [user-table])。

  3. 最佳实践
    • 参数化查询:优先使用预编译语句(如 WHERE name = ?),避免手动转义和 SQL 注入风险。

    • 统一转义策略:根据数据库类型选择标准方法,避免混用符号。


注释
• 符号 CHR(n) 需结合具体数据库函数使用(如 PostgreSQL 的 CHR(36),Oracle 的 CHR(38))。

• 部分数据库(如 Oracle)需配置会话参数(如 SET DEFINE OFF)以禁用 & 符号的变量绑定功能。

http://www.dtcms.com/a/146810.html

相关文章:

  • 【目标检测】目标检测综述 目标检测技巧
  • 利用人工智能(AI)增强IT运营,提高IT管理效率
  • 使用若依二次开发商城系统-2
  • 【sylar-webserver】重构日志系统
  • 布尔差分法解析:从逻辑导数到电路优化
  • 链式栈和线性栈
  • 服务器在国外国内用户访问慢会影响谷歌排名吗?
  • gnome中删除application中失效的图标
  • (三十)安卓开发中的MVP模式详解
  • 四种阻抗匹配的方式
  • C#—Lazy<T> 类型(延迟初始化/懒加载模式)
  • [wifiI]CCA
  • qemu构建arm环境(AI生成)
  • 用74HC595芯片就可做一个SPI组件
  • 【NLP 68、R-BERT】
  • C 语言开发问题:使用 <assert.h> 时,定义的 #define NDEBUG 不生效
  • Transformer框架解析:从“Attention is All You Need”到现代AI基石
  • 20.3 使用技巧9
  • 回车键监听
  • NLP与社区检测算法的结合:文本中的社区发现
  • OpenCV 图形API(49)颜色空间转换-----将 NV12 格式的图像数据转换为 BGR 颜色空间函数NV12toBGR()
  • Linux进程5-进程通信常见的几种方式、信号概述及分类、kill函数及命令、语法介绍
  • flutter 专题 六十三 Flutter入门与实战作者:xiangzhihong8Fluter 应用调试
  • WINDOWS下使用命令行读取本地摄像头FFMPEG+DirectShow,ffplay直接播放摄像头数据
  • 安装ntfs硬盘系统时,报错Error: Unable to find a match: epel-release的解决方法
  • Federated Feature Augmentation and Alignment
  • ECharts散点图-散点图13,附视频讲解与代码下载
  • 机器学习-08-推荐算法-案例
  • Cad c# 射线法判断点在多边形内外
  • 淘宝店铺详情API接口返回数据说明