Questo uso delle virgolette è chiamato identificatori delimitati. È una parte importante di SQL perché altrimenti non è possibile utilizzare identificatori (ad es. nomi di tabelle e nomi di colonne) che:
- Includi spazio bianco:"il mio tavolo"
- Includi caratteri speciali e punteggiatura:"my-table"
- Includi caratteri internazionali:"私のテーブル"
- Fanno distinzione tra maiuscole e minuscole:"MyTable"
- Fai corrispondere le parole chiave SQL:"tabella"
Il linguaggio SQL standard utilizza le virgolette per gli identificatori delimitati:
SELECT * FROM "my table";
MySQL utilizza le virgolette per impostazione predefinita. MySQL può utilizzare le virgolette doppie standard:
SELECT * FROM `my table`;
SET SQL_MODE=ANSI_QUOTES;
SELECT * FROM "my table";
Microsoft SQL Server e Sybase utilizzano parentesi per impostazione predefinita. Entrambi possono utilizzare le doppie virgolette standard in questo modo:
SELECT * FROM [my table];
SET QUOTED_IDENTIFIER ON;
SELECT * FROM "my table";
InterBase e Firebird devono impostare il dialetto SQL su 3 per supportare identificatori delimitati.
La maggior parte delle altre marche di database utilizza correttamente le virgolette doppie.