PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách make_time () hoạt động trong PostgreSQL

Trong PostgreSQL, make_time() cho phép bạn tạo thời gian từ các trường giờ, phút và giây của nó.

Cú pháp

Hàm có cú pháp sau:

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

hour là phần giờ, min là phần phút và sec là phần giây.

Giờ và phút được cung cấp dưới dạng số nguyên , giây được cung cấp dưới dạng độ chính xác kép .

Kết quả được trả về là thời gian . Chính xác hơn, nó được trả về là thời gian không có múi giờ .

Ví dụ

Đây là một ví dụ cơ bản để chứng minh.

SELECT make_time(7, 45, 15.08);

Kết quả:

07:45:15.08

Và chúng tôi có thể xác minh kiểu trả về bằng truy vấn sau.

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

Kết quả:

time without time zone

pg_typeof() hàm trả về kiểu dữ liệu của đối số của nó và vì vậy tôi đã chuyển make_time() như đối số ..

Ngoài phạm vi

Nếu bất kỳ đối số nào nằm ngoài phạm vi giá trị có thể có cho phần ngày của nó, bạn sẽ gặp lỗi "nằm ngoài phạm vi".

SELECT make_time(25, 45, 15.08);

Kết quả:

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

Truyền chuỗi làm đối số

Tài liệu Postgres nói rằng các đối số phải là số nguyên (và độ chính xác gấp đôi trong trường hợp của seconds ), nhưng việc chuyển các chuỗi cũng hoạt động (có thể vì chúng được chuyển đổi ngầm thành số nguyên), miễn là mỗi đối số nằm trong phạm vi thích hợp của nó.

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

Kết quả:

07:45:15.08

Một lần nữa, chúng ta có thể sử dụng pg_type() để kiểm tra kiểu dữ liệu kết quả.

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

Kết quả:

time without time zone

Tuy nhiên, bạn vẫn cần đảm bảo rằng mỗi đối số sẽ hợp lệ sau khi được chuyển đổi thành số nguyên, nếu không, bạn sẽ gặp lỗi.

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

Kết quả:

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. Django:quyền bị từ chối khi cố gắng truy cập cơ sở dữ liệu sau khi khôi phục (di chuyển)

  2. Lặp lại kích thước mảng trong plpgsql

  3. Postgresql SAO CHÉP VÀO STDIN Với CSV thực hiện trên conflic làm cập nhật như thế nào?

  4. Sự trở lại của XFS trên Linux

  5. Tạo trình tự theo thứ tự