Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

8.5. Các loại soi kèo bóng đá truoctran/giờ

PostgreSQLHỗ trợ đầy đủ tập hợpSQLCác loại soi kèo bóng đá truoctran và giờ, hiển thị trongBảng 8-9. Các Các hoạt động có sẵn trên các loại dữ liệu này được mô tả trongPhần 9.9. soi kèo bóng đá truoctran được tính Theo lịch Gregorian, ngay cả trong những năm trước đó Lịch được giới thiệu (xemPhần B.4Để biết thêm thông tin).

Bảng 8-9. Các loại soi kèo bóng đá truoctran/giờ

tên Kích thước lưu trữ Mô tả giá trị thấp Giá trị cao Độ phân giải
dấu soi kèo bóng đá truoctran [(P)] [không có múi giờ] 8 byte cả soi kèo bóng đá truoctran và giờ (không có múi giờ) 4713 bc 294276 AD 1 microsecond / 14 chữ số
dấu soi kèo bóng đá truoctran [(P)] với múi giờ 8 byte cả soi kèo bóng đá truoctran và giờ, với múi giờ 4713 bc 294276 AD 1 microsecond / 14 chữ số
soi kèo bóng đá truoctran 4 byte soi kèo bóng đá truoctran (không có thời gian trong soi kèo bóng đá truoctran) 4713 bc 5874897 AD 1 soi kèo bóng đá truoctran
soi kèo bóng đá truoctran [(P)] [ không có múi giờ] 8 byte Thời gian trong soi kèo bóng đá truoctran (không có soi kèo bóng đá truoctran) 00:00:00 24:00:00 1 microsecond / 14 chữ số
soi kèo bóng đá truoctran [(P)]] Với múi giờ 12 byte Chỉ thời gian trong soi kèo bóng đá truoctran, với múi giờ 00: 00: 00+1459 24:00:00-1459 1 microsecond / 14 chữ số
Khoảng [Trường] [(P)] 16 byte Khoảng soi kèo bóng đá truoctran -178000000 năm 178000000 năm 1 microsecond / 14 chữ số

Lưu ý:Tiêu chuẩn SQL yêu cầu viết chỉDấu soi kèo bóng đá truoctranHãy tương đương vớidấu soi kèo bóng đá truoctran không có múi giờPostgreSQLtôn vinh hành vi đó. (Phát hành trước 7.3 đã coi nó làdấu soi kèo bóng đá truoctran theo soi kèo bóng đá truoctran vùng.)TIMESTAMPTZđược chấp nhận như một viết tắt chodấu soi kèo bóng đá truoctran với múi giờ; Đây là mộtPostgreSQLphần mở rộng.

soi kèo bóng đá truoctran, Dấu soi kèo bóng đá truoctranKhoảngChấp nhận giá trị chính xác tùy chọnPtrong đó chỉ định số lượng Các chữ số phân số được giữ lại trong trường giây. Theo mặc định, ở đó là không bị ràng buộc rõ ràng về độ chính xác. Phạm vi được phép củaPlà từ 0 đến 6 choDấu soi kèo bóng đá truoctranKhoảngTYPE.

Lưu ý:KhiDấu soi kèo bóng đá truoctranGiá trị là được lưu trữ dưới dạng số nguyên tám byte (hiện là mặc định), micro giây Độ chính xác có sẵn trong toàn bộ phạm vi của các giá trị. KhiDấu soi kèo bóng đá truoctranGiá trị được lưu trữ dưới dạng Double Số điểm nổi chính xác thay thế (soi kèo bóng đá truoctran biên dịch không dùng nữa tùy chọn), giới hạn hiệu quả của độ chính xác có thể nhỏ hơn 6.Dấu soi kèo bóng đá truoctranGiá trị được lưu trữ dưới dạng giây trước hoặc sau nửa đêm 2000-01-01. KhiDấu soi kèo bóng đá truoctranCác giá trị được triển khai bằng các số điểm nổi, microsecond Độ chính xác đạt được cho soi kèo bóng đá truoctran trong vòng một vài năm là 2000-01-01, Nhưng sự chính xác xuống cấp cho soi kèo bóng đá truoctran xa hơn. Lưu ý rằng sử dụng Datetimes điểm nổi cho phép phạm vi lớn hơnDấu soi kèo bóng đá truoctranCác giá trị được biểu diễn hơn hiển thị ở trên: Từ 4713 trước Công nguyên đến 5874897 sau Công nguyên

14912_14967soi kèo bóng đá truoctranKhoảngGiá trị là Được lưu trữ dưới dạng số điểm nổi hoặc số nguyên tám byte. Trong trường hợp nổi, lớnKhoảngGiá trị suy giảm độ chính xác khi kích thước của khoảng soi kèo bóng đá truoctran tăng.

chosoi kèo bóng đá truoctranCác loại, phạm vi được phép củaPlà từ 0 đến 6 khi tám byte Bộ lưu trữ số nguyên được sử dụng hoặc từ 0 đến 10 khi nổi Lưu trữ được sử dụng.

TheKhoảngLoại có thêm tùy chọn, đó là hạn chế tập hợp các trường được lưu trữ bằng cách viết Một trong những cụm từ này:

Năm
THÁNG
NGÀY
GIỜ
PHÚT
THỨ HAI
Năm này sang tháng khác
soi kèo bóng đá truoctran này đến giờ
soi kèo bóng đá truoctran này sang phút khác
soi kèo bóng đá truoctran thứ hai
Giờ đến phút
Giờ đến thứ hai
Phút đến thứ hai

Lưu ý rằng nếu cả haiTrườngPđược chỉ định,TrườngPhải bao gồmthứ hai, vì độ chính xác chỉ áp dụng cho giây.

Loạisoi kèo bóng đá truoctran với múi giờđược xác định bởi Tiêu chuẩn SQL, nhưng định nghĩa thể hiện các thuộc tính dẫn đầu để có tính hữu dụng đáng ngờ. Trong hầu hết các trường hợp, sự kết hợp củasoi kèo bóng đá truoctran, soi kèo bóng đá truoctran, dấu soi kèo bóng đá truoctran không có múi giờdấu soi kèo bóng đá truoctran với múi giờsẽ cung cấp hoàn chỉnh Phạm vi chức năng soi kèo bóng đá truoctran/thời gian được yêu cầu bởi bất kỳ ứng dụng nào.

Các loạiAbstimeRelimelà các loại chính xác thấp hơn được sử dụng trong nội bộ. Bạn không nản lòng khi sử dụng các loại này trong ứng dụng; Những loại bên trong này có thể biến mất trong một tương lai giải phóng.

8.5.1. Đầu vào soi kèo bóng đá truoctran/giờ

Đầu vào soi kèo bóng đá truoctran và giờ được chấp nhận ở hầu hết mọi định dạng hợp lý, bao gồm ISO 8601,SQL-CompitiT, truyền thốngPostgres, và những người khác. Đối với một số định dạng, Đặt hàng soi kèo bóng đá truoctran, tháng và năm đầu vào soi kèo bóng đá truoctran là mơ hồ và có sự hỗ trợ để chỉ định thứ tự dự kiến ​​của chúng Cánh đồng. ĐặtDatestyleTham số ĐẾNmdyĐể chọn hàng tháng năm Giải thích,DMYđể chọn Giải thích năm tháng, hoặcYMDđến Chọn giải thích trong một tháng.

PostgreSQLĐầu vào soi kèo bóng đá truoctran/thời gian xử lý so vớiSQLYêu cầu tiêu chuẩn. Nhìn thấyPhụ lục BĐối với các quy tắc phân tích cú pháp chính xác đầu vào soi kèo bóng đá truoctran/giờ và cho các trường văn bản được công nhận bao gồm cả tháng, soi kèo bóng đá truoctran trong tuần và múi giờ.

Hãy nhớ rằng bất kỳ đầu vào soi kèo bóng đá truoctran hoặc thời gian nào cũng cần Kèm theo trong các trích dẫn đơn, như chuỗi văn bản. Tham khảoPhần 4.1.2.7Để biết thêm thông tin.SQLYêu cầu cú pháp sau

loại[(P)] 'giá trị'

WHEREPlà một độ chính xác tùy chọn Đặc điểm kỹ thuật cho số lượng chữ số phân số trong giây cánh đồng. Độ chính xác có thể được chỉ định chosoi kèo bóng đá truoctran, Dấu soi kèo bóng đá truoctranKhoảng18606_18764

8.5.1.1. soi kèo bóng đá truoctran

Bảng 8-10Hiển thị một số đầu vào có thể chosoi kèo bóng đá truoctranloại.

Bảng 8-10. Đầu vào soi kèo bóng đá truoctran

Ví dụ Mô tả
1999-01-08 ISO 8601; soi kèo bóng đá truoctran 8 tháng 1 ở bất kỳ chế độ nào (định dạng được đề xuất)
soi kèo bóng đá truoctran 8 tháng 1 năm 1999 không rõ ràng trong bất kỳDatestyleĐầu vào cách thức
1/8/1999 soi kèo bóng đá truoctran 8 tháng 1 trongmdychế độ; soi kèo bóng đá truoctran 1 tháng 8 trongDMYMode
1/18/1999 18 tháng 1 trongmdychế độ; bị từ chối trong Các chế độ khác
01/02/03 soi kèo bóng đá truoctran 2 tháng 1 năm 2003 trongmdychế độ; Tháng hai 1, 2003 trongDMYchế độ; soi kèo bóng đá truoctran 3 tháng 2 năm 2001 trongYMDMode
1999-Jan-08 soi kèo bóng đá truoctran 8 tháng 1 ở bất kỳ chế độ nào
tháng 1-08-1999 soi kèo bóng đá truoctran 8 tháng 1 ở bất kỳ chế độ nào
08-Jan-1999 soi kèo bóng đá truoctran 8 tháng 1 ở bất kỳ chế độ nào
99-JAN-08 soi kèo bóng đá truoctran 8 tháng 1 trongYMDchế độ, lỗi khác
08-Jan-99 soi kèo bóng đá truoctran 8 tháng 1, ngoại trừ lỗi trongYMDMode
Jan-08-99 soi kèo bóng đá truoctran 8 tháng 1, ngoại trừ lỗi trongYMDMode
19990108 ISO 8601; soi kèo bóng đá truoctran 8 tháng 1 năm 1999 ở bất kỳ chế độ nào
990108 ISO 8601; soi kèo bóng đá truoctran 8 tháng 1 năm 1999 ở bất kỳ chế độ nào
1999.008 Năm và soi kèo bóng đá truoctran trong năm
J2451187 soi kèo bóng đá truoctran Julian
soi kèo bóng đá truoctran 8 tháng 1, 99 trước Công nguyên năm 99 trước Công nguyên

8.5.1.2. Lần

Các loại thời gian của soi kèo bóng đá truoctran làsoi kèo bóng đá truoctran [(P)] Không có múi giờsoi kèo bóng đá truoctran [(P)] với soi kèo bóng đá truoctran vùng. soi kèo bóng đá truoctranMột mình tương đương vớisoi kèo bóng đá truoctran không có múi giờ.

Đầu vào hợp lệ cho các loại này bao gồm một thời gian trong soi kèo bóng đá truoctran theo sau bởi một múi giờ tùy chọn. (Nhìn thấyBảng 8-1121392_21404.) Nếu múi giờ được chỉ định trong đầu vào chosoi kèo bóng đá truoctran không có múi giờ, nó bị bỏ qua âm thầm. Bạn cũng có thể Chỉ định một soi kèo bóng đá truoctran nhưng nó sẽ bị bỏ qua, ngoại trừ khi bạn sử dụng thời gian Tên khu vực liên quan đến quy tắc tiết kiệm ánh sáng ban soi kèo bóng đá truoctran, chẳng hạn nhưAmerica/new_york. Trong trường hợp này chỉ định soi kèo bóng đá truoctran được yêu cầu để xác định xem tiêu chuẩn hay Áp dụng thời gian sáng ban soi kèo bóng đá truoctran. Bù múi giờ thích hợp là được ghi trongsoi kèo bóng đá truoctran với múi giờgiá trị.

Bảng 8-11. Đầu vào soi kèo bóng đá truoctran

Ví dụ Mô tả
04:05:06.789 ISO 8601
04:05:06 ISO 8601
04:05 ISO 8601
040506 ISO 8601
04: 05 AM giống như 04:05; AM không ảnh hưởng đến giá trị
04: 05 PM Giống như 16:05; Giờ đầu vào phải là <= 12
04:05:06.789-8 ISO 8601
04:05:06-08:00 ISO 8601
04:05-08:00 ISO 8601
040506-08 ISO 8601
04: 05: 06 PST Múi giờ được chỉ định bởi viết tắt
2003-04-12 04:05:06 America/new_york múi giờ được chỉ định bởi tên đầy đủ

Bảng 8-12. Đầu vào múi giờ

Ví dụ Mô tả
PST Viết tắt (cho soi kèo bóng đá truoctran chuẩn Thái Bình Dương)
America/new_york Tên múi giờ đầy đủ
PST8PDT Đặc tả múi giờ theo kiểu POSIX
-8:00 iso-8601 Offset cho PST
-800 iso-8601 Offset cho PST
-8 iso-8601 Offset cho PST
Zulu Viết tắt quân sự cho UTC
z dạng ngắn củaZulu

Tham khảoPhần 8.5.324330_24383

8.5.1.3. soi kèo bóng đá truoctran Tem

Đầu vào hợp lệ cho các loại tem thời gian bao gồm sự kết hợp của một soi kèo bóng đá truoctran và một thời gian, tiếp theo là một thời gian tùy chọn vùng, theo sau là một tùy chọnADhoặcBC. (Cách khác,AD/BCcó thể xuất hiện trước khi múi giờ, nhưng đây không phải là thứ tự ưa thích.) Vì vậy:

1999-01-08 04:05:06

và:

1999-01-08 04:05:06 -8:00

là giá trị hợp lệ, theo dõiISO8601 Tiêu chuẩn. Ngoài ra, định dạng:

8 tháng 1 04:05:06 1999 PST

được hỗ trợ.

The25230_25235Tiêu chuẩn khác biệtdấu soi kèo bóng đá truoctran không có múi giờdấu soi kèo bóng đá truoctran với múi giờnghĩa đen của sự hiện diện của A"+"hoặc"-"Biểu tượng và múi giờ bù sau soi kèo bóng đá truoctran. Do đó, theo tiêu chuẩn,

Timestamp '2004-10-19 10:23:54'

dấu soi kèo bóng đá truoctran không có múi giờ,, trong khi

Timestamp '2004-10-19 10: 23: 54+02'

là A25777_25803. PostgreSQL25851_25976dấu soi kèo bóng đá truoctran không có múi giờ. Để đảm bảo rằng một nghĩa đen được coi làdấu soi kèo bóng đá truoctran với múi giờ, cho nó là loại rõ ràng chính xác:

26180_26232

Trong một nghĩa đen đã được xác định làdấu soi kèo bóng đá truoctran không có múi giờ, PostgreSQLSẽ âm thầm bỏ qua bất kỳ múi giờ nào chỉ định. Nghĩa là, giá trị kết quả được lấy từ Các trường soi kèo bóng đá truoctran/giờ trong giá trị đầu vào và không được điều chỉnh theo thời gian vùng.

chodấu soi kèo bóng đá truoctran với múi giờ, The Giá trị được lưu trữ bên trong luôn ở UTC (Phối hợp phổ quát soi kèo bóng đá truoctran, theo truyền thống được gọi là soi kèo bóng đá truoctran trung bình của Greenwich,GMT). Giá trị đầu vào có soi kèo bóng đá truoctran rõ ràng vùng được chỉ định được chuyển đổi thành UTC bằng cách sử dụng phần bù thích hợp cho múi giờ đó. Nếu không có múi giờ được nêu trong chuỗi đầu vào, thì nó được cho là ở trong múi giờ được chỉ định bởi hệ thốngtimezoneTham số và được chuyển đổi thành UTC bằng cách sử dụng phần bù chotimezonekhu vực.

Khi Adấu soi kèo bóng đá truoctran với múi giờGiá trị là đầu ra, nó luôn được chuyển đổi từ UTC sang hiện tạitimezoneVùng và được hiển thị dưới dạng soi kèo bóng đá truoctran địa phương trong đó vùng. Để xem soi kèo bóng đá truoctran trong múi giờ khác, một trong hai thay đổitimezonehoặc sử dụngAT Múi giờXây dựng (xemPhần 9.9.3).

Chuyển đổi giữaDấu soi kèo bóng đá truoctran không có soi kèo bóng đá truoctran vùngdấu soi kèo bóng đá truoctran với múi giờThông thường giả sử rằngDấu soi kèo bóng đá truoctran không có soi kèo bóng đá truoctran vùngGiá trị nên được lấy hoặc đưa ra làmtimezonegiờ địa phương. Một múi giờ khác có thể được chỉ định cho chuyển đổi bằng cách sử dụngTại thời điểm VÙNG.

8.5.1.4. Đặc biệt Giá trị

PostgreSQLHỗ trợ một số Giá trị đầu vào soi kèo bóng đá truoctran/thời gian đặc biệt để thuận tiện, như trongBảng 8-13. Các giá trịVô cực-Infinityđược thể hiện đặc biệt bên trong Hệ thống và sẽ được hiển thị không thay đổi; Nhưng những người khác là Đơn giản là các khoản viết tắt của Notational sẽ được chuyển đổi thành thông thường Giá trị soi kèo bóng đá truoctran/thời gian khi đọc. (Đặc biệt,Bây giờvà các chuỗi liên quan được chuyển đổi thành một cụ thể giá trị soi kèo bóng đá truoctran ngay khi chúng được đọc.) Tất cả các giá trị này cần Được đặt trong các trích dẫn đơn khi được sử dụng làm hằng số trong SQL các lệnh.

Bảng 8-13. Đầu vào soi kèo bóng đá truoctran/giờ đặc biệt

Chuỗi nhập Các loại hợp lệ Mô tả
Epoch soi kèo bóng đá truoctran, Timestamp 1970-01-01 00: 00: 00+00 (soi kèo bóng đá truoctran hệ thống UNIX 0)
Vô cực soi kèo bóng đá truoctran, Dấu soi kèo bóng đá truoctran muộn hơn tất cả các tem soi kèo bóng đá truoctran khác
-Infinity soi kèo bóng đá truoctran, Timestamp sớm hơn tất cả các tem soi kèo bóng đá truoctran khác
Bây giờ soi kèo bóng đá truoctran, soi kèo bóng đá truoctran, Timestamp soi kèo bóng đá truoctran bắt đầu giao dịch hiện tại
hôm nay soi kèo bóng đá truoctran, Timestamp Midnight hôm nay
soi kèo bóng đá truoctran mai soi kèo bóng đá truoctran, Dấu soi kèo bóng đá truoctran Nửa đêm soi kèo bóng đá truoctran mai
soi kèo bóng đá truoctran hôm qua soi kèo bóng đá truoctran, dấu soi kèo bóng đá truoctran Nửa đêm hôm qua
Allballs soi kèo bóng đá truoctran 00: 00: 00.00 UTC

sauSQL-CompitiT Các chức năng cũng có thể được sử dụng để có được giá trị soi kèo bóng đá truoctran hiện tại cho Kiểu dữ liệu tương ứng:current_date, current_time, current_timestamp, địa phương, LocalTimeStamp. Bốn người sau chấp nhận độ chính xác dưới mức phụ tùy chọn đặc điểm kỹ thuật. (Nhìn thấyPhần 9.9.4.) Lưu ý rằng đây là các chức năng SQL và làkhôngĐược nhận ra trong đầu vào dữ liệu chuỗi.

8.5.2. Đầu ra soi kèo bóng đá truoctran/thời gian

Định dạng đầu ra của các loại soi kèo bóng đá truoctran/thời gian có thể được đặt thành một trong những Bốn kiểu ISO 8601,SQL(Ingres), truyền thốngPostgres(UNIXsoi kèo bóng đá truoctranĐịnh dạng) hoặc tiếng Đức. Các Mặc định làISO31541_31557SQLTiêu chuẩn yêu cầu sử dụng Định dạng ISO 8601. Tên của"SQL"Định dạng đầu ra là một tai nạn lịch sử.)Bảng 8-14Hiển thị các ví dụ về từng kiểu đầu ra. Đầu ra củasoi kèo bóng đá truoctransoi kèo bóng đá truoctranCác loại là thường chỉ có phần soi kèo bóng đá truoctran hoặc phần thời gian theo ví dụ. Tuy nhiên,PostgresKiểu đầu ra các giá trị chỉ soi kèo bóng đá truoctran trongISOĐịnh dạng.

Bảng 8-14. Kiểu đầu ra soi kèo bóng đá truoctran/thời gian

Đặc tả kiểu Mô tả Ví dụ
ISO ISO 8601, SQL Standard 1997-12-17 07:37:16-08
SQL Phong cách truyền thống 12/17/1997 07: 37: 16.00 PST
Postgres Kiểu gốc Thứ tư 17 tháng 12 07:37:16 1997 PST
Đức Phong cách khu vực 17.12.1997 07: 37: 16.00 PST

Lưu ý:ISO 8601 Chỉ định việc sử dụng chữ hoaTĐể tách soi kèo bóng đá truoctran và giờ.POSTGRESQLChấp nhận định dạng đó trên đầu vào, nhưng trên đầu ra, nó sử dụng một khoảng trống chứ không phảiT, như được hiển thị ở trên. Đây là cho khả năng đọc và cho Tính nhất quán với RFC 3339 cũng như một số cơ sở dữ liệu khác hệ thống.

TrongSQLvà Postgres Kiểu, soi kèo bóng đá truoctran xuất hiện trước tháng nếu đặt hàng trường DMY đã được được chỉ định, nếu không, tháng xuất hiện trước soi kèo bóng đá truoctran. (Nhìn thấyPhần 8.5.1Để biết cách cài đặt này cũng ảnh hưởng đến việc giải thích các giá trị đầu vào.)Bảng 8-15Hiển thị các ví dụ.

Bảng 8-15. soi kèo bóng đá truoctran đặt hàng quy ước

DatestyleCài đặt Đặt hàng đầu vào đầu ra ví dụ
SQL, DMY soi kèo bóng đá truoctran/tháng/năm 17/12/1997 15: 37: 16.00 CET
SQL, MDY tháng/soi kèo bóng đá truoctran/năm 12/17/1997 07: 37: 16.00 PST
Postgres, DMY soi kèo bóng đá truoctran/tháng/năm Thứ tư 17 tháng 12 07:37:16 1997 PST

Kiểu soi kèo bóng đá truoctran/giờ có thể được chọn bởi người dùng bằng cách sử dụngĐặt Datestylelệnh, TheDatestyleTham số trongPostgreSql.confCấu hình Tệp hoặcPGDATESTYLEMôi trường Biến trên máy chủ hoặc máy khách.

Hàm định dạngto_char35426_35434Phần 9.8) cũng là Có sẵn như một cách linh hoạt hơn để định dạng đầu ra soi kèo bóng đá truoctran/thời gian.

8.5.3. Múi giờ

Múi giờ và quy ước khu vực thời gian, bị ảnh hưởng bởi Các quyết định chính trị, không chỉ hình học trái đất. Múi giờ xung quanh thế giới đã trở nên hơi tiêu chuẩn hóa trong những năm 1900, nhưng tiếp tục dễ bị thay đổi tùy ý, đặc biệt là đối với Quy tắc vẫy sáng ban soi kèo bóng đá truoctran.POSTGRESQLsử dụng cơ sở dữ liệu múi giờ IANA (OLSON) được sử dụng rộng rãi cho Thông tin về các quy tắc múi giờ lịch sử. Cho soi kèo bóng đá truoctran trong tương lai, giả định là các quy tắc mới nhất được biết đến cho một Múi giờ sẽ tiếp tục được quan sát vô thời hạn vào tương lai.

PostgreSQLnỗ lực Tương thích vớiSQLTiêu chuẩn Định nghĩa cho việc sử dụng điển hình. Tuy nhiên,SQLTiêu chuẩn có sự kết hợp kỳ lạ của soi kèo bóng đá truoctran và giờ Các loại và khả năng. Hai vấn đề rõ ràng là:

  • mặc dùsoi kèo bóng đá truoctranLoại không thể có múi giờ liên kết,soi kèo bóng đá truoctranLoại có thể. Thời gian các khu vực trong thế giới thực có ít ý nghĩa trừ khi liên quan đến một soi kèo bóng đá truoctran cũng như một thời gian, vì phần bù có thể thay đổi thông qua năm với ranh giới thời gian tiết kiệm ánh sáng ban soi kèo bóng đá truoctran.

  • Múi giờ mặc định được chỉ định là một phần bù số không đổi từUTC. Do đó, nó là Không thể thích nghi với thời gian tiết kiệm ánh sáng ban soi kèo bóng đá truoctran khi soi kèo bóng đá truoctran/giờ Số học trênDSTranh giới.

Để giải quyết những khó khăn này, chúng tôi khuyên bạn nên sử dụng soi kèo bóng đá truoctran/giờ Các loại chứa cả soi kèo bóng đá truoctran và thời gian khi sử dụng múi giờ. Chúng tôi làmkhôngĐề nghị sử dụng kiểusoi kèo bóng đá truoctran với múi giờ(mặc dù đó là Được hỗ trợ bởiPOSTGRESQLcho di sản các ứng dụng và để tuân thủSQLtiêu chuẩn).POSTGRESQLGiả sử múi giờ địa phương của bạn cho bất kỳ loại nào chỉ chứa soi kèo bóng đá truoctran hoặc thời gian.

Tất cả các soi kèo bóng đá truoctran và thời gian nhận biết múi giờ được lưu trữ nội bộ trongUTC. Chúng được chuyển đổi thành địa phương soi kèo bóng đá truoctran trong vùng được chỉ định bởitimezoneTham số cấu hình trước khi được hiển thị cho máy khách.

PostgreSQLCho phép bạn Chỉ định các múi giờ ở ba dạng khác nhau:

  • Ví dụ, một tên múi giờ đầy đủAmerica/new_york. Tên múi giờ được công nhận là được liệt kê trongpg_timezone_namesXem (xemPhần 47.71).PostgreSQL38428_38561

  • Ví dụ, một bản viết tắt múi giờPST. Một đặc điểm kỹ thuật như vậy chỉ định nghĩa một Offset đặc biệt từ UTC, trái ngược với tên múi giờ đầy đủ có thể ngụ ý một tập hợp các quy tắc chuyển tiếp tiết kiệm ánh sáng ban soi kèo bóng đá truoctran như Tốt. Các chữ viết tắt được công nhận được liệt kê trongpg_timezone_abbrevsXem (xemPhần 47.70). Bạn không thể đặt tham số cấu hìnhtimezonehoặclog_timezone39169_39270Tại thời điểm VÙNGtoán tử.

  • Ngoài tên và chữ viết tắt của múi giờ,POSTGRESQLsẽ chấp nhận kiểu POSIX Thông số kỹ thuật của múi giờ của biểu mẫuSTDOffsethoặcSTDOffsetDST, Ở đâuSTDlà viết tắt của khu vực,Offsetlà một số bù trong số giờ Tây từ UTC vàDSTlà một Tùy chọn Vùng viết tắt Vùng Vệ sinh Ánh sáng ban soi kèo bóng đá truoctran, được cho là đứng cho Một giờ trước so với bù cho. Ví dụ: nếu40015_40024chưa phải là tên vùng được công nhận, nó sẽ được chấp nhận và sẽ có chức năng tương đương với United Thời gian ở Bờ Đông. Khi tên khu vực vẫy ánh sáng ban soi kèo bóng đá truoctran là hiện tại, nó được cho là được sử dụng theo cùng một Quy tắc chuyển tiếp sáng ban soi kèo bóng đá truoctran được sử dụng trong múi giờ IANA Cơ sở dữ liệuPosixrulesmục nhập. Trong a tiêu chuẩnPostgreSQLCài đặt,Posixrulesgiống nhưHoa Kỳ/Đông, do đó múi giờ kiểu POSIX Thông số kỹ thuật tuân theo các quy tắc tiết kiệm ánh sáng ban soi kèo bóng đá truoctran của Hoa Kỳ. Nếu cần, bạn có thể điều chỉnh hành vi này bằng cách thay thếPosixrulesTệp.

40732_409832014-06-04 12:00 Mỹ/New_Yorkđại diện cho buổi trưa giờ địa phương ở New York, trong soi kèo bóng đá truoctran đặc biệt này là phương Đông Giờ ánh sáng ban soi kèo bóng đá truoctran (UTC-4). Vì thế2014-06-04 12:00 EdtChỉ định cùng thời điểm đó. Nhưng2014-06-04 12:00 ESTChỉ định Tiêu chuẩn miền Đông Thời gian (UTC-5), bất kể tiết kiệm ánh sáng ban soi kèo bóng đá truoctran có phải không có hiệu lực vào soi kèo bóng đá truoctran đó.

Để làm phức tạp vấn đề, một số khu vực pháp lý đã sử dụng giống nhau chữ viết tắt của múi giờ có nghĩa là các phạm vi khác nhau của UTC ở các khác nhau lần; Ví dụ, trong MoscowMSKcó có nghĩa là UTC+3 trong một số năm và UTC+4 ở những người khác.POSTGRESQLdiễn giải các chữ viết tắt đó theo bất cứ điều gì họ có nghĩa (hoặc có nghĩa là gần đây nhất) trên soi kèo bóng đá truoctran được chỉ định; Nhưng, như vớiestVí dụ ở trên, điều này không nhất thiết giống như thời gian dân sự địa phương Vào soi kèo bóng đá truoctran đó.

Một người nên cảnh giác rằng tính năng múi giờ kiểu POSIX có thể dẫn đến âm thầm chấp nhận đầu vào không có thật, vì không có kiểm tra Sự hợp lý của các chữ viết tắt khu vực. Ví dụ,Đặt soi kèo bóng đá truoctran thành foobar0Sẽ hoạt động, rời đi hệ thống sử dụng một cách hiệu quả một chữ viết tắt khá đặc biệt cho UTC. Một vấn đề khác cần ghi nhớ là trong múi giờ Posix Tên, độ lệch dương được sử dụng cho các vị tríTâycủa Greenwich. Ở mọi nơi khác,PostgreSQLtheo ISO-8601 quy ước rằng soi kèo bóng đá truoctran tích cực bù đắp làEastcủa Greenwich.

Trong mọi trường hợp, tên và chữ viết tắt của Timezone được công nhận trường hợp không nhạy cảm. (Đây là một sự thay đổi từPOSTGRESQLPhiên bản trước 8.2, là nhạy cảm trường hợp trong một số bối cảnh nhưng không phải là những bối cảnh khác.)

Không có tên múi giờ cũng không viết tắt máy chủ; Chúng được lấy từ các tệp cấu hình được lưu trữ trong.../chia sẻ/timezone/.../chia sẻ/TimeZonesets/của cài đặt thư mục (xemPhần B.3).

ThetimezoneTham số cấu hình có thể được đặt trong tệpPostgreSql.confhoặc trong bất kỳ tiêu chuẩn nào khác các cách được mô tả trongChương 18. Ngoài ra còn có một số cách đặc biệt để đặt nó:

  • TheSQLlệnhĐặt múi giờĐặt múi giờ cho phiên. Đây là một cách đánh vần thay thế củaĐặt soi kèo bóng đá truoctran ĐẾNvới cú pháp tương thích SQL-spec hơn.

  • ThePGTZBiến môi trường được sử dụng bởilibpqKhách hàng gửiĐặt múi giờLệnh đến máy chủ khi sự liên quan.

8.5.4. Đầu vào khoảng

KhoảngGiá trị có thể được viết bằng cách sử dụng SHERBOSE SHYTAX:

[@]Số lượng Đơn vị[Số lượng Đơn vị...44475_44480Hướng]

WHERESố lượnglà một số (có thể đã ký);Đơn vị44699_44712, Millisecond, thứ hai, phút, giờ, soi kèo bóng đá truoctran, tuần, tháng, năm, Decade, 45030_45039, Thiên niên kỷ, hoặc viết tắt hoặc số nhiều của các đơn vị này;Hướngcó thể45194_45199hoặc trống. Dấu hiệu tại (@) là tiếng ồn tùy chọn. Số lượng khác nhau Các đơn vị được thêm vào hoàn toàn với kế toán dấu hiệu phù hợp.AGOphủ nhận tất cả các trường. Cú pháp này là cũng được sử dụng cho đầu ra khoảng, nếuIntervalStyleIS Đặt thànhPostgres_verbose.

Số lượng soi kèo bóng đá truoctran, giờ, phút và giây có thể được chỉ định không có dấu hiệu đơn vị rõ ràng. Ví dụ,'1 12:59:10 'được đọc giống như'1 soi kèo bóng đá truoctran 12 Giờ 59 phút 10 giây '. Ngoài ra, sự kết hợp giữa năm và tháng có thể được chỉ định với một dấu gạch ngang; Ví dụ'200-10'được đọc giống như'200 năm 10 tháng'. (Những hình thức ngắn hơn trong thực tế là những người duy nhất được phép bởiSQLtiêu chuẩn và được sử dụng cho đầu ra khiIntervalStyleđược đặt thànhSQL_STANDARD.)

Giá trị khoảng soi kèo bóng đá truoctran cũng có thể được viết dưới dạng khoảng soi kèo bóng đá truoctran ISO 8601, sử dụng"Định dạng với người thiết kế "của tiêu chuẩn Phần 4.4.3.2 hoặc"Định dạng thay thế"của phần 4.4.3.3. Định dạng với người chỉ định trông như thế này:

PSố lượng 46635_46641[ Số lượng Đơn vị...] [T [ Số lượng Đơn vị...]]

Chuỗi phải bắt đầu bằng AP, và có thể Bao gồm ATgiới thiệu Các đơn vị thời gian trong soi kèo bóng đá truoctran. Các chữ viết tắt đơn vị có sẵn được đưa ra trongBảng 8-16. Các đơn vị có thể bị bỏ qua và có thể được chỉ định theo bất kỳ thứ tự nào, Nhưng các đơn vị nhỏ hơn một soi kèo bóng đá truoctran phải xuất hiện sauT. Cụ thể, ý nghĩa củaMphụ thuộc vào việc nó là trước hay sauT.

Bảng 8-16. Iso 8601 chữ viết tắt đơn vị khoảng

viết tắt có nghĩa là
y năm
M tháng (trong phần soi kèo bóng đá truoctran)
W tuần
D soi kèo bóng đá truoctran
H giờ
M phút (trong phần soi kèo bóng đá truoctran)
S giây

ở định dạng thay thế:

P [ năm-tháng-soi kèo bóng đá truoctran ] [Tgiờ:phút:giây ]

Chuỗi phải bắt đầu bằngPvà ATTách các phần soi kèo bóng đá truoctran và thời gian của các phần của khoảng thời gian. Các giá trị được đưa ra dưới dạng các số tương tự như ISO 8601 soi kèo bóng đá truoctran.

Khi viết hằng số khoảng bằngTrườngĐặc điểm kỹ thuật hoặc khi gán một Chuỗi vào một cột khoảng soi kèo bóng đá truoctran được xác định vớiTrườngĐặc điểm kỹ thuật, Giải thích về Số lượng không được đánh dấu phụ thuộc vàoTrường. Ví dụKhoảng '1' năm49035_49065Khoảng '1'Có nghĩa là 1 giây. Ngoài ra, lĩnh vực Giá trị"sang phải"ít nhất Trường quan trọng được phép bởitrườngĐặc điểm kỹ thuật bị loại bỏ âm thầm. Ví dụ: ViếtKhoảng '1 soi kèo bóng đá truoctran 2:03:04' Giờ đến phútdẫn đến việc giảm trường thứ hai, nhưng không trường soi kèo bóng đá truoctran.

theoSQL49512_49685'-1 2:03:04 'Áp dụng cho cả soi kèo bóng đá truoctran và giờ/phút/giây các phần.POSTGRESQLCho phép Các lĩnh vực để có các dấu hiệu khác nhau và theo truyền thống đối xử với từng trường trong biểu diễn văn bản được ký kết độc lập, để giờ/phút/phần thứ hai được coi là tích cực trong ví dụ này. Nếu như50053_50068được đặt thànhSQL_STANDARDSau đó, một dấu hiệu hàng đầu được xem xét để Áp dụng cho tất cả các trường (nhưng chỉ khi không có dấu hiệu bổ sung xuất hiện). Nếu không thì truyền thốngPostgreSQLGiải thích được sử dụng. Để tránh sự mơ hồ, nên đính kèm một dấu hiệu rõ ràng cho mỗi trường nếu bất kỳ trường nào là âm.

ở định dạng đầu vào dài dòng và trong một số trường của nhiều hơn Các định dạng đầu vào nhỏ gọn, giá trị trường có thể có các phần phân số; vì ví dụ'1,5 tuần'hoặc'01: 02: 03,45 '50639_50930'1.5 tháng'Trở thành 1 tháng và 15 soi kèo bóng đá truoctran. Chỉ vài giây sẽ được hiển thị dưới dạng phân đoạn trên đầu ra.

Bảng 8-17Hiển thị một số ví dụ về hợp lệKhoảngĐầu vào.

Bảng 8-17. Đầu vào khoảng

Ví dụ Mô tả
1-2 Định dạng tiêu chuẩn SQL: 1 năm 2 tháng
3 4:05:06 Định dạng tiêu chuẩn SQL: 3 soi kèo bóng đá truoctran 4 giờ 5 phút 6 giây
1 năm 2 tháng 3 soi kèo bóng đá truoctran 4 giờ 5 phút 6 giây Định dạng Postgres truyền thống: 1 năm 2 tháng 3 soi kèo bóng đá truoctran 4 giờ 5 phút 6 giây
P1Y2M3DT4H5M6S ISO 8601"Định dạng với người thiết kế": Ý nghĩa tương tự như trên
P0001-02-03T04: 05: 06 ISO 8601"Định dạng thay thế": Tương tự có nghĩa như trên

Nội bộKhoảngGiá trị được lưu trữ dưới dạng Tháng, soi kèo bóng đá truoctran và giây. Điều này được thực hiện bởi vì số soi kèo bóng đá truoctran Trong một tháng thay đổi, và một soi kèo bóng đá truoctran có thể có 23 hoặc 25 giờ nếu ánh sáng ban soi kèo bóng đá truoctran Điều chỉnh thời gian tiết kiệm có liên quan. Các lĩnh vực tháng và soi kèo bóng đá truoctran là Số nguyên trong khi trường thứ hai có thể lưu trữ phân số. Bởi vì Các khoảng thời gian thường được tạo từ các chuỗi không đổi hoặcTimestamptrừ, phương pháp lưu trữ này hoạt động tốt Trong hầu hết các trường hợp, nhưng có thể gây ra kết quả bất ngờ:

Chọn trích xuất (giờ từ '80 phút ':: khoảng);
 date_part
-----------
         1

Chọn trích xuất (soi kèo bóng đá truoctran từ '80 giờ ':: khoảng);
 date_part
-----------
         0

Chức năngJustify_DaysJustify_Hourscó sẵn cho điều chỉnh soi kèo bóng đá truoctran và giờ tràn ra phạm vi bình thường của họ.

8.5.5. Đầu ra khoảng

Định dạng đầu ra của loại khoảng soi kèo bóng đá truoctran có thể được đặt thành một trong Bốn kiểuSQL_STANDARD, 53281_53291, Postgres_verbose,, hoặcISO_8601, Sử dụng lệnhĐặt khoảng soi kèo bóng đá truoctran. Mặc định làPostgresĐịnh dạng.Bảng 8-18Hiển thị các ví dụ về từng kiểu đầu ra.

TheSQL_STANDARD53664_54091

Đầu ra củaPostgresPhong cách khớp với đầu ra củaPostgreSQLphát hành trước 8.4 khiDatestyleTham số đã được đặt thànhISO.

Đầu ra củaPostgres_verboseKiểu khớp với đầu ra củaPostgreSQLphát hành trước 8.4 khi54560_54571tham số được đặt thành khôngISOOUTPUT.

Đầu ra củaISO_8601Phong cách khớp với"Định dạng với người thiết kế"được mô tả trong Phần 4.4.3.2 của tiêu chuẩn ISO 8601.

Bảng 8-18. Ví dụ kiểu đầu ra khoảng soi kèo bóng đá truoctran

Đặc tả kiểu Khoảng soi kèo bóng đá truoctran năm Khoảng thời gian ban soi kèo bóng đá truoctran Khoảng soi kèo bóng đá truoctran hỗn hợp
SQL_STANDARD 1-2 3 4:05:06 -1-2 +3 -4: 05: 06
Postgres 1 năm 2 Mons 3 soi kèo bóng đá truoctran 04:05:06 -1 năm -2 MONS +3 soi kèo bóng đá truoctran -04: 05: 06
Postgres_verbose @ 1 năm 2 Mons @ 3 soi kèo bóng đá truoctran 4 giờ 5 phút 6 giây @ 1 năm 2 Mons -3 soi kèo bóng đá truoctran 4 giờ 5 phút 6 giây trước
ISO_8601 P1Y2M P3DT4H5M6S P-1Y-2M3DT-4H-5M-6S