PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как make_time() работи в PostgreSQL

В PostgreSQL, make_time() функцията ви позволява да създадете време от полетата за час, минути и секунди.

Синтаксис

Функцията има следния синтаксис:

make_time(hour int, min int, sec double precision)

Където hour е часовата част, min е частта за минутите и sec е секундната част.

Часът и минутите се предоставят като цяло число , секундите са предоставени като двойна точност .

Резултатът се връща като време . По-точно, то се връща като час без часова зона .

Пример

Ето основен пример за демонстрация.

SELECT make_time(7, 45, 15.08);

Резултат:

07:45:15.08

И можем да проверим типа на връщането със следната заявка.

SELECT pg_typeof(make_time(7, 45, 15.08));

Резултат:

time without time zone

pg_typeof() функцията връща типа данни на своя аргумент и затова предадох make_time() като аргумент...

Извън обхват

Ако някой от аргументите е извън диапазона на възможните стойности за неговата част от датата, ще получите грешка „извън диапазона“.

SELECT make_time(25, 45, 15.08);

Резултат:

ERROR: time field value out of range: 25:45:15.08

Подаване на низове като аргументи

Документацията на Postgres гласи, че аргументите трябва да са цели числа (и двойна точност в случай на seconds аргумент), но предаването на низове също работи (вероятно защото са имплицитно преобразувани в цели числа), стига всеки аргумент да е в правилния си диапазон.

SELECT make_time('7', '45', '15.08');

Резултат:

07:45:15.08

Отново можем да използваме pg_type() за да проверите получения тип данни.

SELECT pg_typeof(make_time('7', '45', '15.08'));

Резултат:

time without time zone

Все пак трябва да се уверите, че всеки аргумент ще бъде валиден, след като бъде преобразуван в цяло число, в противен случай ще получите грешка.

SELECT make_time('25', '45', '15.08');

Резултат:

ERROR: time field value out of range: 25:45:15.08

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Пребройте кумулативната сума в Postgresql

  2. Защо SELECT без колони е валиден

  3. Стойността на Postgres SSLMode изисква невалидна, когато поддръжката на SSL не е компилирана с помощта на обвивка на чужди данни

  4. Как justify_interval() работи в PostgreSQL

  5. Копиране на Postgres от променлива с CSV данни