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

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

PostgreSQLHỗ trợ toàn bộ bộSQLCác loại kèo bóng đá c1 và giờ, được hiển thị trongBảng 8.9. kèo bóng đá c1 hoạt động có sẵn trên kèo bóng đá c1 loại dữ liệu này được mô tả trongPhần 9.9. kèo bóng đá c1 được tính theo lịch Gregorian, ngay cả trong nhiều năm trước lịch đó được giới thiệu (xemPhần B.6Để biết thêm thông tin).

Bảng 8.9. Các loại kèo bóng đá c1/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 thời gian [(P)] [không có múi giờ] 8 byte cả kèo bóng đá c1 và giờ (không có múi giờ) 4713 bc 294276 AD 1 microsecond
Timestamp [(P)] với múi giờ 8 byte cả kèo bóng đá c1 và giờ, với múi giờ 4713 bc 294276 AD 1 microsecond
kèo bóng đá c1 4 byte kèo bóng đá c1 (không có thời gian trong kèo bóng đá c1) 4713 bc 5874897 AD 1 kèo bóng đá c1
Thời gian [(P)] [không có múi giờ] 8 byte Thời gian trong kèo bóng đá c1 (không có kèo bóng đá c1) 00:00:00 24:00:00 1 microsecond
Thời gian [(P14694_14714 12 byte Thời gian trong kèo bóng đá c1 (không có kèo bóng đá c1), với múi giờ 00: 00: 00+1559 24:00:00-1559 1 microsecond
Khoảng [trường] [(P)] 16 byte Khoảng thời gian -178000000 năm 178000000 năm 1 microsecond

Lưu ý

Tiêu chuẩn SQL yêu cầu viết chỉDấu thời gianHãy tương đương vớidấu thời gian không có múi giờPostgreSQL15637_15662TIMESTAMPTZ15697_15735dấu thời gian với múi giờ; Đây là mộtPostgreSQLMở rộng.

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

TheKhoảngLoại có một tùy chọn bổ sung, đó là hạn chế tập hợp kèo bóng đá c1 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
kèo bóng đá c1 này đến giờ
kèo bóng đá c1 này sang phút khác
kèo bóng đá c1 thứ hai
Giờ đến phút
Giờ đến thứ hai
Phút đến thứ hai

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

loạiThời gian với múi giờđược xác định bởi tiêu chuẩn SQL, nhưng định nghĩa thể hiện kèo bóng đá c1 thuộc tính dẫn đến tính hữu dụng đáng ngờ. Trong hầu hết kèo bóng đá c1 trường hợp, sự kết hợp củakèo bóng đá c1, Time, dấu thời gian không có múi giờdấu thời gian với múi giờSẽ cung cấp một phạm vi đầy đủ về chức năng kèo bóng đá c1/thời gian được yêu cầu bởi bất kỳ ứng dụng nào.

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

Đầu vào kèo bóng đá c1 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, việc đặt hàng kèo bóng đá c1, tháng và năm đầu vào kèo bóng đá c1 là mơ hồ và có sự hỗ trợ để chỉ định thứ tự dự kiến ​​của các trường này. ĐặtDatestyletham số đếnmdyĐể chọn diễn giải hàng tháng,DMYĐể chọn diễn giải kèo bóng đá c1 tháng năm hoặcYMDĐể chọn diễn giải một tháng năm.

PostgreSQLlinh hoạt hơn trong đầu vào kèo bóng đá c1/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 chính xác của đầu vào kèo bóng đá c1/thời gian và cho các trường văn bản được công nhận bao gồm tháng, kèo bóng đá c1 trong tuần và múi giờ.

Hãy nhớ rằng bất kỳ đầu vào kèo bóng đá c1 hoặc thời gian nào cũng cần được đặt 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 đặc tả chính xác tùy chọn cung cấp số lượng chữ số phân số kèo bóng đá c1 trường Seconds. Độ chính xác có thể được chỉ định choThời gian, Dấu thời gianKhoảngkèo bóng đá c1 loại và có thể nằm trong khoảng từ 0 đến 6. Nếu không có độ chính xác nào được chỉ định trong một đặc điểm kỹ thuật không đổi, nó mặc định là độ chính xác của giá trị theo nghĩa đen (nhưng không quá 6 chữ số).

8.5.1.1. kèo bóng đá c1#

Bảng 8.10Hiển thị một số đầu vào có thể chokèo bóng đá c1loại.

Bảng 8.10. Đầu vào kèo bóng đá c1

Ví dụ Mô tả
1999-01-08 ISO 8601; kèo bóng đá c1 8 tháng 1 ở bất kỳ chế độ nào (định dạng được đề xuất)
kèo bóng đá c1 8 tháng 1 năm 1999 không rõ ràng kèo bóng đá c1 bất kỳDatestyleChế độ nhập
1/8/1999 kèo bóng đá c1 8 tháng 1 trongmdychế độ; kèo bóng đá c1 1 tháng 8 trongDMYMode
1/18/1999 18 tháng 1 kèo bóng đá c1mdychế độ; bị từ chối trong kèo bóng đá c1 chế độ khác
01/02/03 kèo bóng đá c1 2 tháng 1 năm 2003 trongmdychế độ; kèo bóng đá c1 1 tháng 2 năm 2003 trongDMYchế độ; kèo bóng đá c1 3 tháng 2 năm 2001 trong21788_21793Mode
1999-JAN-08 kèo bóng đá c1 8 tháng 1 ở bất kỳ chế độ nào
Jan-08-1999 kèo bóng đá c1 8 tháng 1 ở bất kỳ chế độ nào
08-Jan-1999 kèo bóng đá c1 8 tháng 1 ở bất kỳ chế độ nào
99-JAN-08 kèo bóng đá c1 8 tháng 1 trongYMDchế độ, lỗi khác
08-JAN-99 kèo bóng đá c1 8 tháng 1, ngoại trừ lỗi trongYMDMode
Jan-08-99 kèo bóng đá c1 8 tháng 1, ngoại trừ lỗi trongYMDMode
19990108 ISO 8601; kèo bóng đá c1 8 tháng 1 năm 1999 ở bất kỳ chế độ nào
990108 22895_22934
1999.008 năm và kèo bóng đá c1 trong năm
J2451187 kèo bóng đá c1 Julian
kèo bóng đá c1 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#

kèo bóng đá c1 loại thời gian làThời gian [(P)] Không có múi giờThời gian [(P)] với múi giờ. thời gianMột mình tương đương vớiThời gian 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 kèo bóng đá c1, sau đó là múi giờ tùy chọn. (Nhìn thấyBảng 8.11Bảng 8.12.) Nếu một múi giờ được chỉ định kèo bóng đá c1 đầu vào choThời gian không có múi giờ, nó bị bỏ qua âm thầm. Bạn cũng có thể chỉ định một kèo bóng đá c1 nhưng nó sẽ bị bỏ qua, ngoại trừ khi bạn sử dụng tên múi giờ liên quan đến quy tắc tiết kiệm ánh sáng ban kèo bóng đá c1, chẳng hạn nhưAmerica/new_york. Trong trường hợp này chỉ định kèo bóng đá c1 được yêu cầu để xác định xem thời gian tiết kiệm tiêu chuẩn hay ánh sáng ban kèo bóng đá c1. Độ lệch múi giờ thích hợp được ghi lại trongThời gian với múi giờgiá trị và là đầu ra như được lưu trữ; nó không được điều chỉnh theo múi giờ hoạt động.

Bảng 8.11. Đầu vào thời gian

Ví dụ Mô tả
04:05:06.789 ISO 8601
04:05:06 ISO 8601
04:05 26139_26149
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, với múi giờ là UTC Offset
04:05:06-08:00 ISO 8601, với múi giờ là UTC Offset
04:05-08:00 ISO 8601, với múi giờ là UTC Offset
040506-08 ISO 8601, với múi giờ là UTC Offset
040506+0730 ISO 8601, với múi giờ giờ phân số là UTC Offset
040506+07: 30: 00 OFC Offset được chỉ định thành giây (không được phép kèo bóng đá c1 ISO 8601)
04: 05: 06 PST 27807_27844
2003-04-12 04:05:06 Mỹ/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 thời gian 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:00 OFC Offset cho PST
-8:00 UTC Offset cho PST (Định dạng mở rộng ISO 8601)
-800 OFC Offset cho PST (Định dạng cơ bản ISO 8601)
-8 OFC Offset cho PST (Định dạng cơ bản ISO 8601)
29843_29849 Viết tắt quân sự cho UTC
Z dạng ngắn củaZulu(Cũng kèo bóng đá c1 ISO 8601)

Tham khảoPhần 8.5.3Để biết thêm thông tin về cách chỉ định kèo bóng đá c1 múi giờ.

8.5.1.3. Tem thời gian#

30953_31103ADhoặcBC. (Cách khác,AD/BC31248_31330

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 phổ biến:

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

được hỗ trợ.

TheSQLPhân biệt tiêu chuẩndấu thời gian không có múi giờdấu thời gian với múi giờnghĩa đen bởi sự hiện diện của A+hoặc-HồiBiểu tượng và múi giờ bù sau thời gian. Do đó, theo tiêu chuẩn,

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

là Adấu thời gian không có múi giờ, kèo bóng đá c1 khi

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

dấu thời gian với múi giờ. PostgreSQLKhông bao giờ kiểm tra nội dung của chuỗi theo nghĩa đen trước khi xác định loại của nó và do đó sẽ coi cả hai điều trên làdấu thời gian không có múi giờ. Để đảm bảo rằng một nghĩa đen được coi làdấu thời gian với múi giờ, cho nó loại rõ ràng chính xác:

dấu thời gian với múi giờ '2004-10-19 10: 23: 54+02'

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

chodấu thời gian với múi giờGiá trị, một chuỗi đầu vào bao gồm múi giờ rõ ràng sẽ được chuyển đổi thành UTC (Thời gian phối hợp phổ quát) 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 kèo bóng đá c1 chuỗi đầu vào, thì nó được cho là ở kèo bóng đá c1 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ù chotimezoneVùng. kèo bóng đá c1 cả hai trường hợp, giá trị được lưu trữ bên kèo bóng đá c1 dưới dạng UTC và múi giờ đã nêu hoặc giả định ban đầu không được giữ lại.

Khi Adấu thời gian 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 thời gian địa phương kèo bóng đá c1 khu vực đó. Để xem thời gian kèo bóng đá c1 múi giờ khác, một kèo bóng đá c1 hai thay đổitimezonehoặc sử dụngTại múi giờXây dựng (xemPhần 9.9.4).

Chuyển đổi giữadấu thời gian không có múi giờdấu thời gian với múi giờThông thường giả sử rằngdấu thời gian không có múi giờGiá 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 để chuyển đổi bằng cách sử dụngTại múi giờ.

8.5.1.4. Giá trị đặc biệt#

POSTGRESQLHỗ trợ một số giá trị đầu vào kèo bóng đá c1/thời gian đặc biệt để thuận tiện, như thể hiện trongBảng 8.13. kèo bóng đá c1 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 chỉ đơn giản là các khoản viết tắt của Notational sẽ được chuyển đổi thành giá trị kèo bóng đá c1/thời gian thông thường khi đọc. (Đặc biệt,Bây giờvà kèo bóng đá c1 chuỗi liên quan được chuyển đổi thành giá trị thời gian cụ thể ngay khi chúng được đọc.) Tất cả kèo bóng đá c1 giá trị này cần được đặt trong kèo bóng đá c1 trích dẫn đơn khi được sử dụng làm hằng số trong kèo bóng đá c1 lệnh SQL.

Bảng 8.13. Đầu vào kèo bóng đá c1/giờ đặc biệt

Chuỗi nhập kèo bóng đá c1 loại hợp lệ Mô tả
Epoch kèo bóng đá c1, Timestamp 36938_36986
Vô cực kèo bóng đá c1, Timestamp muộn hơn tất cả kèo bóng đá c1 tem thời gian khác
-Infinity kèo bóng đá c1, Timestamp sớm hơn tất cả kèo bóng đá c1 tem thời gian khác
Bây giờ kèo bóng đá c1, Thời gian, Dấu thời gian Thời gian bắt đầu giao dịch hiện tại
hôm nay kèo bóng đá c1, Timestamp Midnight (00:00) Hôm nay
kèo bóng đá c1 mai kèo bóng đá c1, Timestamp Midnight (00:00) kèo bóng đá c1 mai
kèo bóng đá c1 hôm qua kèo bóng đá c1, Dấu thời gian Midnight (00:00) Hôm qua
Allballs Thời gian 00: 00: 00.00 UTC

sau đâySQL-kèo bóng đá c1 hàm tương thích cũng có thể được sử dụng để có được giá trị thời gian hiện tại cho loại dữ liệu tương ứng:current_date, current_time, current_timestamp, địa phương, LocalTimeStamp. (Nhìn thấyPhần 9.9.5.) Lưu ý rằng đây là kèo bóng đá c1 chức năng SQL và làkhôngĐược nhận ra kèo bóng đá c1 chuỗi đầu vào dữ liệu.

THẬN TRỌNG

Trong khi kèo bóng đá c1 chuỗi đầu vàoBây giờ, hôm nay, kèo bóng đá c1 maikèo bóng đá c1 hôm quaĐược sử dụng trong kèo bóng đá c1 lệnh SQL tương tác, chúng có thể có hành vi đáng ngạc nhiên khi lệnh được lưu để được thực thi sau, ví dụ như trong kèo bóng đá c1 câu lệnh, quan điểm và định nghĩa chức năng đã chuẩn bị. Chuỗi có thể được chuyển đổi thành một giá trị thời gian cụ thể tiếp tục được sử dụng lâu sau khi nó trở nên cũ kỹ. Sử dụng một trong kèo bóng đá c1 hàm SQL thay thế trong kèo bóng đá c1 bối cảnh như vậy. Ví dụ,current_date + 1an toàn hơn'kèo bóng đá c1 mai' :: kèo bóng đá c1.

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

40747_40837SQL(Ingres), truyền thốngPostgres(UNIXkèo bóng đá c1Định dạng) hoặc tiếng Đức. Mặc định làISOĐịnh dạng. (TheSQLTiêu chuẩn yêu cầu sử dụng định dạng ISO 8601. Tên củaSQLĐịnh dạng đầu ra là một tai nạn lịch sử.)Bảng 8.14Hiển thị kèo bóng đá c1 ví dụ về từng kiểu đầu ra. Đầu ra củakèo bóng đá c1Thời gianCác loại thường chỉ là phần kèo bóng đá c1 hoặc phần thời gian theo các ví dụ đã cho. Tuy nhiên,PostgresKiểu đầu ra các giá trị chỉ kèo bóng đá c1 trongISO41763_41773

Bảng 8.14. Kiểu đầu ra kèo bóng đá c1/thời gian

Đặc tả kiểu Mô tả Ví dụ
ISO ISO 8601, tiêu chuẩn SQL 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 kèo bóng đá c1 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 không gian chứ không phảiT, như được hiển thị ở trên. Điều này là cho khả năng đọc và cho tính nhất quán vớiRFC 3339cũng như một số hệ thống cơ sở dữ liệu khác.

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

Bảng 8.15. kèo bóng đá c1 đặt hàng quy ước

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

kèo bóng đá c1ISOKiểu, múi giờ luôn được hiển thị dưới dạng độ lệch số có chữ ký từ UTC, với dấu hiệu tích cực được sử dụng cho kèo bóng đá c1 khu vực phía đông Greenwich. Phần bù sẽ được hiển thị dưới dạngHH(chỉ giờ) nếu đó là số giờ không thể thiếu, khác làHH:mmNếu đó là số phút tích hợp, khác làHH:mm:SS46732_47104HHhoặcHHMM).

Kiểu kèo bóng đá c1/thời gian có thể được chọn bởi người dùng bằng cách sử dụngĐặt Datestylelệnh, TheDatestyletham số kèo bóng đá c1PostgreSql.confTệp cấu hình hoặcPGDATESTYLEBiến môi trường trên máy chủ hoặc máy khách.

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

8.5.3. Múi giờ#

Múi giờ và các 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ỉ là hình học trái đất. Các múi giờ trên khắp 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à liên quan đến các quy tắc tiết kiệm ánh sáng ban kèo bóng đá c1.PostgreSQLsử dụng cơ sở dữ liệu múi giờ IANA (Olson) được sử dụng rộng rãi để biết thông tin về kèo bóng đá c1 quy tắc múi giờ lịch sử. Đối với những thời điểm trong tương lai, giả định là kèo bóng đá c1 quy tắc mới nhất được biết đến trong một múi giờ nhất định sẽ tiếp tục được quan sát vô thời hạn trong tương lai.

POSTGRESQLnỗ lực tương thích vớiSQLĐịnh nghĩa tiêu chuẩn 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 các loại kèo bóng đá c1 và thời gian và khả năng. Hai vấn đề rõ ràng là:

  • mặc dùkèo bóng đá c1Loại không thể có múi giờ liên quan,Thời gian49337_49528

  • Múi thời gian mặc định được chỉ định là bù số không đổi từUTC. Do đó không thể thích nghi với thời gian tiết kiệm ánh sáng ban kèo bóng đá c1 khi thực hiện số học kèo bóng đá c1/giờ quaDSTranh 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 các loại kèo bóng đá c1/thời gian có chứa cả kèo bóng đá c1 và giờ khi sử dụng múi giờ. Chúng tôi làmkhôngĐề nghị sử dụng loạiThời gian với múi giờ(mặc dù nó được hỗ trợ bởiPostgreSQLĐối với kèo bóng đá c1 ứng dụng kế thừa 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 kèo bóng đá c1 hoặc thời gian.

Tất cả các kèo bóng đá c1 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 giờ địa phương kèo bóng đá c1 khu vực đượ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 kèo bóng đá c1 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 được liệt kê kèo bóng đá c1pg_timezone_namesXem (xemPhần 54.32).POSTGRESQL51336_51464

  • 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ỉ xác định một phần bù cụ thể từ UTC, trái ngược với các 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 kèo bóng đá c1. Các chữ viết tắt được công nhận được liệt kê trongpg_timezone_abbrevsXem (xemPhần 54.31). Bạn không thể đặt tham số cấu hìnhtimezonehoặclog_timezoneĐể viết tắt múi giờ, nhưng bạn có thể sử dụng chữ viết tắt trong các giá trị đầu vào kèo bóng đá c1/thời gian và vớiTại múi giờtoán tử.

  • Ngoài kèo bóng đá c1 tên và chữ viết tắt múi giờ,PostgreSQLSẽ chấp nhận thông số kỹ thuật múi giờ kiểu POSIX, như được mô tả kèo bóng đá c1Phần B.5. Tùy chọn này thường không thích hợp hơn khi sử dụng múi giờ được đặt tên, nhưng có thể cần thiết nếu không có mục nhập múi giờ IANA phù hợp.

52890_531412014-06-04 12:00 Mỹ/New_YorkĐại diện cho buổi trưa giờ địa phương ở New York, trong kèo bóng đá c1 cụ thể này là thời gian ban kèo bóng đá c1 phía đông (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 Giờ chuẩn phương Đông (UTC-5), bất kể tiết kiệm ánh sáng ban kèo bóng đá c1 có hiệu quả vào kèo bóng đá c1 đó không.

Để làm phức tạp kèo bóng đá c1 vấn đề, một số khu vực pháp lý đã sử dụng cùng một chữ viết tắt theo thời gian để có nghĩa là kèo bóng đá c1 phạm vi khác nhau của UTC tại kèo bóng đá c1 thời điểm khác nhau; Ví dụ, trong MoscowMSKcó nghĩa là UTC+3 kèo bóng đá c1 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ì chúng có nghĩa (hoặc có nghĩa là gần đây nhất) vào kèo bóng đá c1 đượ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 kèo bóng đá c1 đó.

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

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

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

  • TheSQLlệnhĐặt múi giờ55389_55463Đặt thời gian thànhvớ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 kết nối.

8.5.4. Đầu vào khoảng#

KhoảngGiá trị có thể được viết bằng cú pháp verbose sau:

[@]Số lượng Đơn vị[Số lượng 56564_56570...] [Hướng]

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

57837_57949'1 12:59:10'được đọc giống như'1 kèo bóng đá c1 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'. (Trên thực tế, kèo bóng đá c1 hình thức ngắn hơn là kèo bóng đá c1 hình thức duy nhất được cho phép bởiSQLTiêu chuẩn và được sử dụng cho đầu ra khiIntervalStyleđược đặt thànhSQL_STANDARD.)

kèo bóng đá c1 giá trị khoảng thời gian cũng có thể được viết dưới dạng khoảng thời gian ISO 8601, sử dụngHồiĐịnh dạng với người thiết kếHàngcủa tiêu chuẩn Phần 4.4.3.2 hoặcĐịnh dạng thay thếVoicủ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 Đơn vị[ Số lượng Đơn vị...] [T [ Số lượng Đơn vị...]]

Chuỗi phải bắt đầu bằng mộtPvà có thể bao gồm mộtTgiới thiệu các đơn vị thời gian trong kèo bóng đá c1. 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 kèo bóng đá c1 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 kèo bóng đá c1)
W tuần
D kèo bóng đá c1
H giờ
M phút (kèo bóng đá c1 phần thời gian)
S giây

ở định dạng thay thế:

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

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

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 cho một cột khoảng được xác định với A62083_62091Đặc điểm kỹ thuật, Giải thích kèo bóng đá c1 đại lượng không được đánh dấu phụ thuộc vàotrường. Ví dụKhoảng '1' nămđược đọc là 1 năm, kèo bóng đá c1 khiKhoảng '1'Có nghĩa là 1 giây. Ngoài ra, kèo bóng đá c1 giá trị trườngsang phảiHồicủa trường ít có ý nghĩa nhất đượ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 kèo bóng đá c1 2:03:04' Giờ đến phútKết quả là bỏ trường giây, nhưng không phải trường kèo bóng đá c1.

theoSQLTiêu chuẩn Tất cả kèo bóng đá c1 trường có giá trị khoảng phải có cùng một dấu, do đó một dấu hiệu tiêu cực hàng đầu áp dụng cho tất cả kèo bóng đá c1 trường; Ví dụ: dấu âm trong khoảng thời gian'-1 2:03:04'Áp dụng cho cả hai kèo bóng đá c1 và giờ/phút/phần thứ hai.PostgreSQLCho phép kèo bóng đá c1 trường có kèo bóng đá c1 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 là ký tên độc lập, do đó phần giờ/phút/thứ hai được coi là dương trong ví dụ này. Nếu nhưIntervalStyleđược đặt thànhSQL_STANDARDSau đó, một dấu hiệu hàng đầu được coi là áp dụng cho tất cả kèo bóng đá c1 trường (nhưng chỉ khi không có dấu hiệu bổ sung nào 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 rõ ràng vào từng trường nếu bất kỳ trường nào là âm.

nội bộ,Khoảng63781_64172

64207_64393

Ở đây tuần, được hiểu là7 kèo bóng đá c1, đã được giữ riêng biệt, trong khi kèo bóng đá c1 đơn vị thời gian nhỏ hơn và lớn hơn được kết hợp và chuẩn hóa.

Giá trị trường đầu vào có thể có kèo bóng đá c1 phần phân số, ví dụ'1,5 tuần'hoặc'01: 02: 03,45 '. Tuy nhiên, vìKhoảngChỉ lưu trữ kèo bóng đá c1 trường tích phân, giá trị phân số phải được chuyển đổi thành kèo bóng đá c1 đơn vị nhỏ hơn. kèo bóng đá c1 phần phân số của kèo bóng đá c1 đơn vị lớn hơn tháng được làm tròn là một số nguyên của tháng, ví dụ:'1,5 năm'trở thành'1 năm 6 Mons'. Các phần phân số của tuần và kèo bóng đá c1 được tính toán là một số nguyên của kèo bóng đá c1 và micro giây, giả sử 30 kèo bóng đá c1 mỗi tháng và 24 giờ mỗi kèo bóng đá c1, ví dụ:'1,75 tháng'trở thành1 Mon 22 kèo bóng đá c1 12:00:00. 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 kèo bóng đá c1 4 giờ 5 phút 6 giây
1 năm 2 tháng 3 kèo bóng đá c1 4 giờ 5 phút 6 giây Định dạng Postgres truyền thống: 1 năm 2 tháng 3 kèo bóng đá c1 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ếHồi: Ý nghĩa tương tự như trên

8.5.5. Đầu ra khoảng#

Như đã giải thích trước đây,PostgreSQLCửa hàngKhoảngGiá trị là tháng, kèo bóng đá c1 và micro giây. Đối với đầu ra, trường tháng được chuyển đổi thành năm và tháng bằng cách chia cho 12. Trường kèo bóng đá c1 được hiển thị như-IS. Trường micro giây được chuyển đổi thành giờ, phút, giây và giây phân số. Do đó, vài tháng, phút và giây sẽ không bao giờ được hiển thị khi vượt quá phạm vi 0 Ném11, 0 Ném59 và 0 Nott59, trong khi các trường được hiển thị, kèo bóng đá c1 và giờ có thể khá lớn. (TheJustify_DaysJustify_HoursCó thể sử dụng các chức năng nếu mong muốn chuyển các giá trị kèo bóng đá c1 hoặc giờ lớn vào trường cao hơn tiếp theo.)

Định dạng đầu ra của loại khoảng thời gian có thể được đặt thành một kèo bóng đá c1 bốn kiểuSQL_STANDARD, Postgres, Postgres_verbosehoặcISO_8601, Sử dụng lệnhĐặt khoảng thời gian. Mặc định làPostgresĐịnh dạng.Bảng 8.18Hiển thị kèo bóng đá c1 ví dụ về từng kiểu đầu ra.

TheSQL_STANDARDPhong cách tạo ra đầu ra phù hợp với đặc điểm kỹ thuật của tiêu chuẩn SQL cho các chuỗi theo nghĩa đen, nếu giá trị khoảng đáp ứng các hạn chế của tiêu chuẩn (chỉ một tháng hoặc chỉ trong thời gian ban kèo bóng đá c1, không chỉ trộn các thành phần tích cực và tiêu cực). Mặt khác, đầu ra trông giống như một chuỗi theo nghĩa đen trong tháng tiêu chuẩn, sau đó là một chuỗi theo nghĩa đen ban kèo bóng đá c1, với các dấu hiệu rõ ràng được thêm vào để phân loại các khoảng thời gian ký tên hỗn hợp.

Đầu ra củaPostgresKiểu 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 khiDatestyletham số được đặt thành khôngISOOUTPUT.

Đầu ra củaISO_8601Kiểu khớp vớiĐịnh dạng với người thiết kếKhănĐược mô tả kèo bóng đá c1 phần 4.4.3.2 của tiêu chuẩn ISO 8601.

70455_70509

Đặc tả kiểu Khoảng thời gian năm Khoảng thời gian ban kèo bóng đá c1 Khoảng thời gian 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 kèo bóng đá c1 04:05:06 -1 năm -2 MONS +3 kèo bóng đá c1 -04: 05: 06
Postgres_verbose @ 1 năm 2 Mons @ 3 kèo bóng đá c1 4 giờ 5 phút 6 giây @ 1 năm 2 Mons -3 kèo bóng đá c1 4 giờ 5 phút 6 giây trước
ISO_8601 P1Y2M P3DT4H5M6S P-1Y-2M3D T-4H-5M-6S

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì kèo bóng đá c1 tài liệu không chính xác, không khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.