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 [( |
8 byte | cả kèo bóng đá c1 và giờ (không có múi giờ) | 4713 bc | 294276 AD | 1 microsecond |
Timestamp [( |
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 [( |
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 [( |
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 [ |
16 byte | Khoảng thời gian | -178000000 năm | 178000000 năm | 1 microsecond |
Tiêu chuẩn SQL yêu cầu viết chỉDấu thời gian
Hãy tương đương vớidấu thời gian không có múi giờ
vàPostgreSQL15637_15662TIMESTAMPTZ
15697_15735dấu thời gian với múi giờ
; Đây là mộtPostgreSQLMở rộng.
Thời gian
, Dấu thời gian
vàKhoảng
Chấp nhận giá trị chính xác tùy chọnP
trong đó 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ủaP
là từ 0 đến 6.
TheKhoảng
Loạ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ường
và16708_16711
được chỉ định,Trường
Phả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ờ
và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.
Đầ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ị
'
WHEREP
là 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 gian
vàKhoảng
kè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ố).
Bảng 8.10Hiển thị một số đầu vào có thể chokèo bóng đá c1
loạ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ỳDatestyle Chế độ nhập |
1/8/1999 | kèo bóng đá c1 8 tháng 1 trongmdy chế độ; kèo bóng đá c1 1 tháng 8 trongDMY Mode |
1/18/1999 | 18 tháng 1 kèo bóng đá c1mdy chế độ; 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 trongmdy chế độ; kèo bóng đá c1 1 tháng 2 năm 2003 trongDMY chế độ; kèo bóng đá c1 3 tháng 2 năm 2001 trong21788_21793 Mode |
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 trongYMD chế độ, lỗi khác |
08-JAN-99 | kèo bóng đá c1 8 tháng 1, ngoại trừ lỗi trongYMD Mode |
Jan-08-99 | kèo bóng đá c1 8 tháng 1, ngoại trừ lỗi trongYMD Mode |
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 |
kèo bóng đá c1 loại thời gian làThời gian [(
vàP
)] Không có múi giờThời gian [(
. P
)] với múi giờthời gian
Mộ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.11vàBả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ờ.
30953_31103AD
hoặcBC
. (Cách khác,AD
/BC
31248_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ờ
và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'
là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ù chotimezone
Vù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ạitimezone
Vù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 đổitimezone
hoặ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ờ
và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àmtimezone
giờ đị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ờ
.
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
và-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.
Trong khi kèo bóng đá c1 chuỗi đầu vàoBây giờ
, hôm nay
, kèo bóng đá c1 mai
vàkè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 + 1
an toàn hơn'kèo bóng đá c1 mai' :: kèo bóng đá c1
.
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 đá c1
vàThời gian
Cá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 |
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
Datestyle Cà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
:mm
Nếu đó là số phút tích hợp, khác làHH
:mm
:SS
46732_47104HH
hoặ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 Datestyle
lệnh, TheDatestyletham số kèo bóng đá c1PostgreSql.conf
Tệp cấu hình hoặcPGDATESTYLE
Biế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.
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 đá c1
Loại không thể có múi giờ liên quan,Thời gian
49337_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_names
Xem (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_abbrevs
Xem (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 EDT
Chỉ định cùng thời điểm đó. Nhưng2014-06-04 12:00 EST
Chỉ đị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 MoscowMSK
có 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ớiest
Ví 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/
và.../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.conf
hoặ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ành
với cú pháp tương thích SQL-spec hơn.
ThePGTZ
Biế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.
Khoảng
Giá 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ượng
là một số (có thể đã ký);Đơn vị
là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ướng
có thểAGO
hoặ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.AGO
phủ 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ộtP
và có thể bao gồm mộtT
giớ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ủaM
phụ 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ằngP
và AT
Tá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út
Kế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_STANDARD
Sau đó, 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ảng
63781_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ảng
Chỉ 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 |
Như đã giải thích trước đây,PostgreSQLCửa hàngKhoảng
Giá 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_Days
vàJustify_Hours
Có 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_verbose
hoặ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_STANDARD
Phong 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ủaPostgres
Kiể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_verbose
Kiểu khớp với đầu ra củaPOSTGRESQLphát hành trước 8.4 khiDatestyle
tham số được đặt thành khôngISO
OUTPUT.
Đầu ra củaISO_8601
Kiể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 |
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.