Multi: Liste mit reservierten Wörtern

Beitrag lesen

ja, es gibt solche Listen. Sie sind nicht besonders schwierig zu finden :-)

Tja, vermutlich hatte ich nicht die richtigen Suchbegriffe oder war einfach blind ;)

nein? Kapitel Language Structure, Abschnitt Reserved Words

Danke, aber ich habs vorher echt nicht gefunden. Vielleicht werd ich langsam alt ...

das ist falsch. Reservierte Wörter sind in Zeichenketten überhaupt kein Problem. Sie sind dann ein Problem, wenn sie als Identifier für Spalten, Tabellen oder ähnliches verwendet werden. Die Behandlung ist selbstverständlich eine andere als die für Zeichenketten.

Probleme macht das aber, wenn aus einem String LIKE "%test%"  nach dem Quten ein LIKE "%test%" wird und dadurch die Abfrage fehlschlägt bzw. nen Fehler wirft.

MySQL verwendet dafür standardmäßig Backticks, z.B. LIKE kann aber auch in den Modus ANSI-Quotes gebracht werden: dann sind's doppelte Anführungszeichen, d.h. "LIKE".

Darum gehts. Wenn ich ein WHERE-Statement zusammenbaue, soll z.B. LIKE nicht gequotet werden, deshalb brauch ich die Liste um zu wissen, was nicht gequotet werden soll.

T-SQL (z.B. MS-SQL) packt solche Namen in eckige Klammern [LIKE], kann aber auch in den Modus ANSI-Quotes gebracht werden: dann sind's doppelte Anführungszeichen, d.h. "LIKE".

DB2 verwendet soweit ich mich erinnere standardmäßig ANSI-Quotes, d.h. "LIKE".
Wenn PostgreSQL Quotes verwendet, werden Namen case-sensitive, ohne Quotes sind sie's nicht ...

Das schau ich mir an, danke für die Links.

Deswegen: die beste Strategie ist: immer quoten, so wie es phpMyAdmin macht, so wie es das SQL-Management-Studio von Microsoft macht.

Ja, wenn es nötig ist, soll das passieren. Wenn die Schlüsselwörter aber dahingehören, solls eben nicht gequotet werden

Oracle überlasse ich anderen ;-)

Da das aktuell nicht eilt, kein Problem ;)

Danke :)