我最近惊讶地发现,在 Postgres 和其他 SQL 数据库中,两个单引号是转义单引号(作为使用反斜杠的替代方法)的有效方法。我正在阅读的一些文档实际上将其称为转义单引号的“正常”方式。
-- Using two single quotes
SELECT FROM "users" WHERE "users"."email" = 'o''keefe@email.com'
-- Using a backslash
SELECT FROM "users" WHERE "users"."email" = 'o\'keefe@email.com'
我希望有人能提供一些关于这种转义形式的起源的背景信息,以及它相对于反斜杠形式的任何优点或缺点。
最佳答案
双单引号是将单引号放入 SQL 字符串中的 ANSI 标准方法。
反斜杠是一种常见的约定,特别是在基于 Unix 的机器上,因此许多数据库也支持它。
我更喜欢双单引号,因为它是 ANSI 标准。在 Windows 和 Unix 框之间切换时,我也对反斜杠感到困惑。
关于sql - 为什么SQL既支持两个单引号又支持反斜杠转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47488416/