В чем разница между одинарными и двойными кавычками в SQL?



в чем разница между одинарными и двойными кавычками в SQL?

1303   5  

5 ответов:

одинарные кавычки используются для обозначения начала и конца строки в SQL. Двойные кавычки обычно не используются в SQL, но это может варьироваться от базы данных к базе данных.

придерживайтесь использования одинарных кавычек.

это основное использование в любом случае. Вы можете использовать одинарные кавычки для псевдонима столбца - где вы хотите, чтобы имя столбца, на которое вы ссылаетесь в своем коде приложения, было чем-то иным, чем то, что столбец фактически называется в базе данных. Например: PRODUCT.id будет быть более читаемым, как product_id, таким образом, вы используете любой из следующих:

  • SELECT PRODUCT.id AS product_id
  • SELECT PRODUCT.id 'product_id'

либо работает в Oracle, SQL Server, MySQL... но я знаю, что некоторые сказали, что жаба IDE, кажется, дает некоторое горе при использовании подхода с одинарными кавычками.

вы должны использовать одинарные кавычки, когда псевдоним столбца содержит пробел, например,product id, но это не рекомендуется практика для псевдонима столбца, чтобы быть более одного слово.

одинарные кавычки разделяют строковую константу или константу даты / времени.

двойные кавычки разделяют идентификаторы, например, для имен таблиц или столбцов. Как правило, это необходимо только в том случае, если Ваш идентификатор не соответствует правилам для простых идентификаторов.

Читайте также:

Вы можете заставить MySQL использовать двойные кавычки на ANSI стандарт:

SET GLOBAL SQL_MODE=ANSI_QUOTES

Вы можете заставить Microsoft SQL Server использовать двойные кавычки в стандарте ANSI:

SET QUOTED_IDENTIFIER ON
  • [S]ingle кавычки для [S]trings ; [D] ouble кавычки для [D]идентификаторы atabase;
  • на ' символ такой же, как " символ. Вы можете использовать " С включенным ANSI_QUOTES.

в ANSI SQL двойные кавычки цитируют имена объектов (например, таблицы), что позволяет им содержать символы, которые иначе не разрешены, или быть такими же, как зарезервированные слова (избегайте этого, действительно).

одинарные кавычки для строк.

однако MySQL не обращает внимания на стандарт (если его SQL_MODE не изменен) и позволяет использовать их взаимозаменяемо для строк.

кроме того, Sybase и Microsoft также используют квадратные скобки для идентификатора цитирование.

Так что это немного специфично для поставщика.

другие базы данных, такие как Postgres и IBM, фактически придерживаются стандарта ansi:)

Я использую эту мнемонику:

  • одинарные кавычки для строк (одно)
  • двойные кавычки для имен таблиц и имен столбцов (две вещи)

Это не 100% правильно согласно спецификациям, но эта мнемоника помогает мне (человеку).

Comments

    Ничего не найдено.