PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wird bei Funktionsnamen in PostgreSQL die Groß-/Kleinschreibung nicht beachtet?

Funktionsnamen sind Bezeichner (wie Tabellennamen, Feldnamen), die gleichen Regeln Informationen zur Groß- und Kleinschreibung gelten für alle.

Kurz gesagt, bei Bezeichnern wird die Groß-/Kleinschreibung nicht beachtet, sofern sie nicht in Anführungszeichen stehen .

Genauer gesagt wird ein Bezeichner ohne Anführungszeichen intern in Kleinbuchstaben umgewandelt und dann wird versucht, eine Übereinstimmung zwischen Groß- und Kleinschreibung zu finden. Dies kann Ihnen das Leben schwer machen (z. B. versteckte Fehler, verschwendete Stunden), normalerweise, wenn Sie beim Definieren der Tabelle oder Funktion Bezeichner in Anführungszeichen verwendet haben.

Deshalb sollten Sie immer Ihre eigene Namenskonvention definieren und sich daran halten.

Allgemeiner Rat:Verwenden Sie immer Kleinbuchstaben für Bezeichner und seien Sie glücklich.

db=# select now();
              now
-------------------------------
 2011-06-10 16:33:06.588401-03
(1 row)

db=# select Now();
              now
-------------------------------
 2011-06-10 16:33:08.066818-03
(1 row)

db=# select "now"();
              now
-------------------------------
 2011-06-10 16:33:14.543381-03
(1 row)

db=# select "Now"();
ERROR:  function Now() does not exist
LINE 1: select "Now"();
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.