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

SQL中单引号('')与双引号("")是否可以互换使用?

SQL中单引号与双引号能否互换使用?

SQL里单引号和双引号不能随意互换,二者作用有明确区别,具体还要看你使用的数据库系统:

  • 单引号:标准SQL中专门用来包裹字符串常量(比如示例里的'Comedy'),所有数据库都遵循这个规则,是字符串值的通用安全写法。
  • 双引号:标准SQL中用来包裹标识符(比如表名、列名),当标识符包含特殊字符或与关键字重名时使用。但不同数据库对双引号的处理有差异:
    • MySQL:默认模式下双引号和单引号一样处理字符串(非标准行为),但开启ANSI_QUOTES模式后,双引号仅能包裹标识符。
    • PostgreSQL、SQL Server:严格遵循标准,双引号仅用于标识符,字符串必须用单引号。

看你给出的示例代码:
第一个查询是正确的标准写法:

SELECT
*
FROM 
project_id
WHERE
Genre = 'Comedy'

第二个查询存在两处错误:

  1. WHERE子句缺少比较运算符=,语法本身不成立;
  2. 即便补上=,"Comedy"仅在MySQL默认模式下会被识别为字符串,在其他数据库或MySQL开启ANSI模式时,会被当作名为Comedy的列,直接导致报错。

总结:不要随意互换单双引号,字符串用单引号是通用且不易出错的选择;处理特殊标识符时,再根据对应数据库的规则使用双引号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:22:45