WORDS
Escape-tecken: SQL
SQL har inga officiella standarder för hur strängar och annat ska escapas. Det enda som är standardiserat är att strängar omges med apostrofer. Därför har varje databasmotor hittat på sin egen syntax för escapning.
MariaDB och MySQL
Här används \
som escape-tecken, och man har tillgång till vanliga escape-sekvenser, såsom \n
för radbrytning och \\
för bakvänt snedstreck.
-- Resultat:
-- Hon: "Do"
-- Han: "Don't"
INSERT INTO dialog
VALUES ('Hon: "Do"\nHan: "Don\'t"')
-- Om en identifierare är ett nyckelord eller innehåller mellanslag
-- eller dylikt, så omges dom med `
SELECT *
FROM `dialoger och sånt`
-- Tabellnamn: "tabell med ` grav accent"
SELECT *
FROM `tabell med \` grav accent`
Microsoft SQL Server
I Microsofts SQL-språk finns bara en escape-sekvens: om man behöver ha med tecknet som normalt avslutar strängen i strängen, så anger man det två gånger.
-- Resultat:
-- Hon: "Do"
-- Han: "Don't"
INSERT INTO dialog
VALUES ('Hon: "Do"
Han: "Don''t"')
-- Om en identifierare är ett nyckelord eller innehåller mellanslag
-- eller dylikt, så omges dom med []
SELECT *
FROM [dialoger och sånt]
-- Tabellnamn: "tabell med [hakparenteser]"
SELECT *
FROM [tabell med [hakparenteser]]]