PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Czy nazwy funkcji w PostgreSQL są niewrażliwe na wielkość liter?

Nazwy funkcji to identyfikatory (jak nazwy tabel, nazwy pól), te same zasady o rozróżnianiu wielkości liter dotyczą wszystkich.

Krótko mówiąc, identyfikatory nie uwzględniają wielkości liter, chyba że są cytowane .

Dokładniej, niecytowany identyfikator jest wewnętrznie konwertowany na małe litery a następnie następuje próba dopasowania z uwzględnieniem wielkości liter. To może sprawić, że twoje życie będzie nieszczęśliwe (tj. ukryte błędy, zmarnowane godziny), zazwyczaj, jeśli użyłeś identyfikatorów cytowanych podczas definiowania tabeli lub funkcji.

Dlatego zawsze powinieneś definiować własną konwencję nazewnictwa i się jej trzymać.

Ogólna rada:używaj zawsze małych liter jako identyfikatorów i bądź szczęśliwy.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyodrębnić rok i miesiąc od daty w PostgreSQL bez użycia funkcji to_char()?

  2. Czy można używać zmiennej i nie określać typu zwracanego w postgreSQL?

  3. Funkcja RPAD() w PostgreSQL

  4. Dołącz do czterech stołów z udziałem LEFT JOIN bez duplikatów

  5. Dynamiczna funkcja zapytań Postgres