Uiteindelijk is elke tekenreeks een geldige kolomnaam zodra deze tussen dubbele aanhalingstekens is geplaatst (MySQL voldoet mogelijk niet aan die regel, afhankelijk van de configuratie. Het gebruikt geen dubbele aanhalingstekens als identificatie-aanhalingstekens in de standaardinstallatie).
Als u echter cross-platform wilt zijn (zoals de verschillende DBMS-tags suggereren), moet u controleren op de kleinste gemene deler.
De PostgreSQL-handleiding heeft een mooie definitie hiervan:
Controleer dus het volgende met een reguliere expressie:
- begint met een letter
- bevat alleen tekens (letters) en cijfers en een onderstrepingsteken
Dus een reguliere expressie zoals de volgende zou dit moeten dekken:
^[a-zA-Z_][a-zA-Z0-9_]*$
Aangezien SQL niet hoofdlettergevoelig is (tenzij dubbele aanhalingstekens worden gebruikt), zijn hoofdletters en kleine letters toegestaan.