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

Cách đặt Định dạng đầu ra khoảng thời gian trong PostgreSQL

Khi làm việc với khoảng thời gian kiểu dữ liệu trong PostgreSQL, bạn có thể thay đổi cách định dạng đầu ra khoảng thời gian.

Bạn có thể lựa chọn bốn định dạng mà các khoảng thời gian của bạn có thể được xuất ra.

Định dạng đầu ra của loại khoảng thời gian có thể được đặt thành một trong các kiểu sau:

  • sql_standard
  • postgres
  • postgres_verbose
  • iso_8601

Kiểu mặc định là postgres .

Để thay đổi định dạng khoảng của bạn, hãy sử dụng SET intervalstyle yêu cầu.

Ví dụ

Các ví dụ sau minh họa đầu ra của make_interval() khi sử dụng các kiểu đầu ra khác nhau.

sql_standard

Kiểu này tuân theo đặc điểm kỹ thuật của tiêu chuẩn SQL cho chuỗi ký tự khoảng thời gian, nếu giá trị khoảng thời gian đáp ứng các giới hạn của tiêu chuẩn (chỉ năm-tháng hoặc chỉ ngày-giờ, không có sự trộn lẫn của các thành phần tích cực và tiêu cực).

Nếu không, đầu ra trông giống như một chuỗi ký tự năm-tháng tiêu chuẩn, theo sau là một chuỗi ký tự ngày-giờ, với các dấu hiệu rõ ràng được thêm vào để phân biệt các khoảng dấu hiệu hỗn hợp.

Dưới đây là một ví dụ sử dụng năm-tháng.

SET intervalstyle = 'sql_standard';
SELECT make_interval(years => 1, months => 2);

Kết quả:

1-2

Dưới đây là một ví dụ khác. Lần này tôi chỉ định năm, tháng, tuần, ngày, giờ, phút và giây.

SET intervalstyle = 'sql_standard';
SELECT make_interval(1, 2, 3, 4, 5, 6, 7);

Kết quả:

+1-2 +25 +5:06:07

postgres

postgress là cài đặt mặc định.

Kiểu này khớp với đầu ra của các bản phát hành Postgres trước ngày 8.4 khi DateStyle tham số đã được đặt thành ISO .

SET intervalstyle = 'postgres';
SELECT make_interval(1, 2, 3, 4, 5, 6, 7);

Kết quả:

1 year 2 mons 25 days 05:06:07

postgres_verbose

Kiểu này khớp với đầu ra của các bản phát hành Postgres trước ngày 8.4 khi DateStyle tham số đã được đặt thành không phải ISO đầu ra.

SET intervalstyle = 'postgres_verbose';
SELECT make_interval(1, 2, 3, 4, 5, 6, 7);

Kết quả:

@ 1 year 2 mons 25 days 5 hours 6 mins 7 secs

iso_8601

Kiểu này phù hợp với "định dạng có ký hiệu" được mô tả trong phần 4.4.3.2 của tiêu chuẩn ISO 8601.

SET intervalstyle = 'iso_8601';
SELECT make_interval(1, 2, 3, 4, 5, 6, 7);

Kết quả:

P1Y2M25DT5H6M7S

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dự phòng &Dự phòng cho PostgreSQL trên Microsoft Azure

  2. Tạo UUID trong câu lệnh Postgres for Insert?

  3. Trình kích hoạt chèn postgresql để đặt giá trị

  4. Cách cấp tất cả các đặc quyền về chế độ xem cho người dùng tùy ý

  5. cột postgres X không tồn tại