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

Jak Div() działa w PostgreSQL

W PostgreSQL funkcja div() funkcja zwraca iloraz całkowity pierwszego argumentu podzielony przez drugi argument.

Składnia

Oficjalna składnia wygląda następująco:

div(y numeric, x numeric)

Przykład

Oto przykład tego, jak to działa.

SELECT div(12, 3);

Wynik:

4

W tym przypadku podzieliłem 12 przez 3, a wynik to 4.

Więcej dywizji

Oto kilka innych dywizji pod tym samym numerem.

SELECT 
  div(12, 1),
  div(12, 2),
  div(12, 3),
  div(12, 4);

Wynik:

 div | div | div | div
-----+-----+-----+-----
  12 |   6 |   4 |   3

Wyniki ułamkowe

Ta funkcja zwraca iloraz całkowity, więc wszelkie kwoty ułamkowe są pomijane w wyniku.

SELECT div(12, 5);

Wynik:

2

12 podzielone 5 to w rzeczywistości 2,4, ale ta funkcja nie zwraca części ułamkowej, więc otrzymujemy 2.

Wygląda na to, że nie dokonano również żadnych zaokrągleń. Na przykład 9 podzielone przez 5 to 1,8, ale div() zwraca 1 (nie zaokrągla do 2).

SELECT div(9, 5);

Wynik:

1

Więc zachowuje się bardziej jak zastosowanie trunc() (a może nawet floor() ) do wyniku, a nie round() lub ceiling() .

Podział przez zero

Jeśli spróbujesz podzielić liczbę przez zero, otrzymasz błąd.

SELECT div(12, 0);

Wynik:

ERROR: division by zero

Ale jeśli podzielisz zero przez inną liczbę, to po prostu otrzymasz zero.

SELECT div(0, 12);

Wynik:

0

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres NIE w tablicy

  2. Fluent NHibernate i PostgreSQL, SchemaMetadataUpdater.QuoteTableAndColumns — System.NotSupportedException:określona metoda nie jest obsługiwana

  3. Wskazówki dotyczące przechowywania kopii zapasowych PostgreSQL w Google Cloud (GCP)

  4. Funkcja podobieństwa w Postgresie z pg_trgm

  5. Czy funkcje PostgreSQL są transakcyjne?