sql >> Database teknologi >  >> RDS >> PostgreSQL

Er funktionsnavne i PostgreSQL ufølsomme for store og små bogstaver?

Funktionsnavne er identifikatorer (som tabelnavne, feltnavne), de samme regler om versalfølsomhed gælder for alle.

Kort sagt er identifikatorer ufølsomme mellem store og små bogstaver, medmindre de citeres .

Mere præcist konverteres et id uden anførselstegn internt til små bogstaver og så forsøges der at matche sager. Dette kan gøre dit liv surt (dvs. skjulte fejl, spildte timer), typisk hvis du brugte cifre, når du definerede tabellen eller funktionen.

Derfor bør du altid definere din egen navnekonvention og holde dig til den.

Generelt råd:brug altid små bogstaver til identifikatorer, og vær glad.

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.


  1. Forbedring af vores online jobportal-datamodel

  2. Hvordan indsætter man arabiske tegn i SQL-databasen?

  3. Kod din første API med Node.js og Express:Tilslut en database

  4. Lagring af XML-data i SQL Server