问答中心分类: SQLSQL中的单引号和双引号有什么区别?
0
匿名用户 提问 17小时 前

SQL中的单引号和双引号有什么区别?

MSIS 回复 17小时 前

什么类型/供应商的 Sql?

6 Answers
0
NaN 回答 17小时 前

一个简单的规则让我们记住在这种情况下使用什么:

  • [小号]单引号用于[小号]strings 文字(日期文字也是字符串);
  • [D]双引号用于[D]数据库标识符;

例子:

INSERT INTO "USERS" ("LOGIN", "PASSWORD", "DT_BIRTH") VALUES ('EDUARDO', '12345678', '1980-09-06');

在 MySQL 和 MariaDB 中,`(反引号)符号与"象征。请注意,您不能使用"对于文字字符串,当您SQL_MODEANSI_QUOTES启用。

Sam 回复 17小时 前

澄清一下,无论是否启用 ANSI_QUOTES,都可以使用反引号 (`) 来分隔标识符,但如果启用 ANSI_QUOTES,则“您不能使用双引号来引用文字字符串,因为它被解释为标识符。” (资源)。 (这一切都假设你在谈论 MySQL,请注意。)

Bill Karwin 回复 17小时 前

但 [小号]单引号也用于[D]ate 文字。 :-/

0
Bill Karwin 回答 17小时 前

单引号分隔字符串常量或日期/时间常量。
双引号分隔标识符,例如表名或列名。这通常仅在您的标识符不符合简单标识符的规则时才需要。
也可以看看:

您可以让 MySQL 根据 ANSI 标准使用双引号:

SET GLOBAL SQL_MODE=ANSI_QUOTES

您可以让 Microsoft SQL Server 根据 ANSI 标准使用双引号:

SET QUOTED_IDENTIFIER ON
0
MarkR 回答 17小时 前

在 ANSI SQL 中,双引号引用对象名称(例如表),这允许它们包含不允许的字符,或者与保留字相同(避免这种情况,真的)。
单引号用于字符串。
然而,MySQL 忽略了这个标准(除非它的 SQL_MODE 改变了),并允许它们可互换地用于字符串。
此外,Sybase 和 Microsoft 还使用方括号来引用标识符。
所以它有点特定于供应商。
Postgres 和 IBM 等其他数据库实际上遵循 ansi 标准 🙂

dar7yl 回复 17小时 前

MySql 使用反引号 ` 进行标识符引用。 (只是为了完成)

fny 回复 17小时 前

示例:如果您想将 Postgres 列命名为“日期”(保留),则需要将其双引号。

0
guettli 回答 17小时 前

我使用这个助记符:

  • 单引号用于字符串(一件事)
  • 双引号用于表名和列名(两件事)

根据规范,这不是 100% 正确的,但这个助记符可以帮助我(人类)。

m4heshd 回复 17小时 前

human being与其他使用 SQL 的动物相反。 😀

Eric Garcia 回复 17小时 前

用作表格假名的标识符应该使用哪些引号? (例如,在我们编写的连接查询中,…… from "table_name" as t1 JOIN ……) t1 应该包含在什么中?

MSIS 回复 17小时 前

每个字符串都需要引号吗?

0
majidshakeelshawl 回答 17小时 前

要记住的两件事:
单引号('): String或者Text

select * from employees where room_name = 'RobinCapRed';

其中 RobinCapRed 是string或一个text.
双引号(”) : 列名或者表名

select "first_name" from "employees";

其中 first_Name 是列名员工表