PostgreSQLHỗ trợ toàn bộ bộ12106_12111Các loại tỷ lệ kèo bóng đá và giờ, được hiển thị trongBảng 8.9. tỷ lệ kèo bóng đá hoạt động có sẵn trên tỷ lệ kèo bóng đá loại dữ liệu này được mô tả trongPhần 9.9. tỷ lệ kèo bóng đá đượ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 tỷ lệ kèo bóng đá/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 tỷ lệ kèo bóng đá [( |
8 byte | cả tỷ lệ kèo bóng đá và giờ (không có múi giờ) | 4713 bc | 294276 AD | 1 microsecond |
dấu tỷ lệ kèo bóng đá [( |
8 byte | cả tỷ lệ kèo bóng đá và giờ, với múi giờ | 4713 bc | 294276 AD | 1 microsecond |
tỷ lệ kèo bóng đá |
4 byte | tỷ lệ kèo bóng đá (không có thời gian trong tỷ lệ kèo bóng đá) | 4713 bc | 5874897 AD | 1 tỷ lệ kèo bóng đá |
tỷ lệ kèo bóng đá [( |
8 byte | Thời gian trong tỷ lệ kèo bóng đá (không có tỷ lệ kèo bóng đá) | 00:00:00 | 24:00:00 | 1 microsecond |
tỷ lệ kèo bóng đá [( |
12 byte | Thời gian trong tỷ lệ kèo bóng đá (không có tỷ lệ kèo bóng đá), với múi giờ | 00: 00: 00+1559 | 24:00:00-1559 | 1 microsecond |
Khoảng [ |
16 byte | Khoảng tỷ lệ kèo bóng đá | -178000000 năm | 178000000 năm | 1 microsecond |
Tiêu chuẩn SQL yêu cầu viết chỉdấu tỷ lệ kèo bóng đá
15516_15536dấu tỷ lệ kèo bóng đá không có múi giờ
vàPostgreSQLDanh dự hành vi đó.TIMESTAMPTZ
được chấp nhận làm chữ viết tắt chodấu tỷ lệ kèo bóng đá với múi giờ
; Đây là mộtPostgreSQLPhần mở rộng.
tỷ lệ kèo bóng đá
, Dấu tỷ lệ kèo bóng đá
vàKhoảng
Chấp nhận giá trị chính xác tùy chọnP
trong đó chỉ định số lượng tỷ lệ kèo bóng đá chữ số phân số được giữ lại trong trường Seconds. 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 tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá này đến giờ tỷ lệ kèo bóng đá này sang phút khác tỷ lệ kèo bóng đá 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àP
16720_16742Trường
Phải bao gồmthứ hai
, vì độ chính xác chỉ áp dụng cho tỷ lệ kèo bóng đá giây.
Loạitỷ lệ kèo bóng đá với múi giờ
được xác định bởi tiêu chuẩn SQL, nhưng định nghĩa thể hiện tỷ lệ kèo bóng đá thuộc tính dẫn đến tính hữu dụng đáng ngờ. Trong hầu hết tỷ lệ kèo bóng đá trường hợp, sự kết hợp củatỷ lệ kèo bóng đá
, tỷ lệ kèo bóng đá
, dấu tỷ lệ kèo bóng đá không có múi giờ
vàdấu tỷ lệ kèo bóng đá với múi giờ
Sẽ cung cấp một phạm vi đầy đủ về chức năng tỷ lệ kèo bóng đá/thời gian được yêu cầu bởi bất kỳ ứng dụng nào.
Đầu vào tỷ lệ kèo bóng đá và giờ được chấp nhận ở hầu hết mọi định dạng hợp lý, bao gồm ISO 8601,17682_17687-CompitiT, truyền thốngPostgres, và những người khác. Đối với một số định dạng, đặt hàng tỷ lệ kèo bóng đá, tháng và năm đầu vào tỷ lệ kèo bóng đá là mơ hồ và có 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 trong năm tháng hoặcYMD
để chọn diễn giải một tháng năm.
PostgreSQLlinh hoạt hơn trong đầu vào tỷ lệ kèo bóng đá/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 tỷ lệ kèo bóng đá/thời gian và cho các trường văn bản được công nhận bao gồm tháng, tỷ lệ kèo bóng đá trong tuần và múi giờ.
Hãy nhớ rằng bất kỳ đầu vào tỷ lệ kèo bóng đá 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ố trong trường Seconds. Độ chính xác có thể được chỉ định chotỷ lệ kèo bóng đá
, Dấu tỷ lệ kèo bóng đá
vàKhoảng
tỷ lệ kèo bóng đá 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ể chotỷ lệ kèo bóng đá
loại.
Bảng 8.10. Đầu vào tỷ lệ kèo bóng đá
Ví dụ | Mô tả |
---|---|
1999-01-08 | ISO 8601; tỷ lệ kèo bóng đá 8 tháng 1 ở bất kỳ chế độ nào (định dạng được đề xuất) |
tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 | không rõ ràng trong bất kỳDatestyle Chế độ nhập |
1/8/1999 | tỷ lệ kèo bóng đá 8 tháng 1 trongmdy chế độ; tỷ lệ kèo bóng đá 1 tháng 8 trongDMY Mode |
1/18/1999 | 18 tháng 1 trongmdy chế độ; bị từ chối trong tỷ lệ kèo bóng đá chế độ khác |
01/02/03 | tỷ lệ kèo bóng đá 2 tháng 1 năm 2003 trongmdy chế độ; tỷ lệ kèo bóng đá 1 tháng 2 năm 2003 trongDMY chế độ; tỷ lệ kèo bóng đá 3 tháng 2 năm 2001 trongYMD Mode |
1999-JAN-08 | tỷ lệ kèo bóng đá 8 tháng 1 ở bất kỳ chế độ nào |
Jan-08-1999 | tỷ lệ kèo bóng đá 8 tháng 1 ở bất kỳ chế độ nào |
08-Jan-1999 | tỷ lệ kèo bóng đá 8 tháng 1 ở bất kỳ chế độ nào |
99-JAN-08 | tỷ lệ kèo bóng đá 8 tháng 1 trongYMD chế độ, lỗi khác |
08-Jan-99 | tỷ lệ kèo bóng đá 8 tháng 1, ngoại trừ lỗi trongYMD Mode |
Jan-08-99 | tỷ lệ kèo bóng đá 8 tháng 1, ngoại trừ lỗi trongYMD Mode |
19990108 | ISO 8601; tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 ở bất kỳ chế độ nào |
990108 | ISO 8601; tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 ở bất kỳ chế độ nào |
1999.008 | năm và tỷ lệ kèo bóng đá trong năm |
J2451187 | tỷ lệ kèo bóng đá Julian |
tỷ lệ kèo bóng đá 8 tháng 1, 99 trước Công nguyên | năm 99 trước Công nguyên |
tỷ lệ kèo bóng đá loại thời gian làtỷ lệ kèo bóng đá [(
vàP
)] Không có múi giờtỷ lệ kèo bóng đá [(
. P
)] với múi giờtỷ lệ kèo bóng đá
Một mình tương đương vớitỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá, 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 trong đầu vào chotỷ lệ kèo bóng đá không có múi giờ
, nó bị bỏ qua âm thầm. Bạn cũng có thể chỉ định một tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá, chẳng hạn nhưAmerica/new_york
. Trong trường hợp này chỉ định tỷ lệ kèo bóng đá đượ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 tỷ lệ kèo bóng đá. Độ lệch múi giờ thích hợp được ghi lại trongtỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá
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, với múi giờ là UTC Offset |
04:05:06-08:00 |
ISO 8601, với múi giờ như OFC 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ố như bù UTC |
040506+07: 30: 00 |
OFC Offset được chỉ định thành giây (không được phép trong ISO 8601) |
04: 05: 06 PST |
Múi giờ được chỉ định bởi viết tắt |
2003-04-12 04:05:06 Mỹ/New_York |
27788_27822 |
Bảng 8.12. Đầu vào múi giờ
Ví dụ | Mô tả |
---|---|
PST |
Viết tắt (cho tỷ lệ kèo bóng đá 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 |
OTC Offset cho PST |
-8:00 |
OFC Offset cho PST (Định dạng mở rộng ISO 8601) |
-800 |
UTC Offset cho PST (Định dạng cơ bản ISO 8601) |
-8 |
OFC Offset cho PST (Định dạng cơ bản ISO 8601) |
Zulu |
Viết tắt quân sự cho UTC |
Z |
dạng ngắn củaZulu (cũng trong ISO 8601) |
Tham khảoPhần 8.5.3Để biết thêm thông tin về cách chỉ định tỷ lệ kèo bóng đá múi giờ.
30655_30805AD
hoặcBC
. (Cách khác,AD
/BC
Có thể xuất hiện trước 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 phổ biến:
8 tháng 1 04:05:06 1999 PST
được hỗ trợ.
TheSQLPhân biệt tiêu chuẩndấu tỷ lệ kèo bóng đá không có múi giờ
vàdấu tỷ lệ kèo bóng đá với múi giờ
nghĩa đen bởi sự hiện diện của AMạnh+hoặc-Biểu tượng và múi giờ bù sau tỷ lệ kèo bóng đá. Do đó, theo tiêu chuẩn,
Timestamp '2004-10-19 10:23:54'
là mộtdấu tỷ lệ kèo bóng đá không có múi giờ
, trong khi
Timestamp '2004-10-19 10: 23: 54+02'
là mộtdấu tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá không có múi giờ
. Để đảm bảo rằng một nghĩa đen được coi làdấu tỷ lệ kèo bóng đá với múi giờ
, cho nó loại rõ ràng chính xác:
dấu tỷ lệ kèo bóng đá với múi giờ '2004-10-19 10: 23: 54+02'
Trong một giá trị đã được xác định làdấu tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá/giờ trong chuỗi đầu vào và không được điều chỉnh cho múi giờ.
chodấu tỷ lệ kèo bóng đá với múi giờ
32955_33044tỷ lệ kèo bóng đá phối hợp toàn cầu33198_33366timezoneTham số và được chuyển đổi thành UTC bằng cách sử dụng phần bù chotimezone
Vùng. Trong cả hai trường hợp, giá trị được lưu trữ bên trong 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 tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá địa phương trong khu vực đó. Để xem tỷ lệ kèo bóng đá trong múi giờ khác, một trong hai thay đổitimezone
hoặc sử dụngTại múi giờ
34026_34044Phần 9.9.3).
Chuyển đổi giữadấu tỷ lệ kèo bóng đá không có múi giờ
vàdấu tỷ lệ kèo bóng đá với múi giờ
Thông thường giả sử rằngdấu tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá/thời gian đặc biệt để thuận tiện, như thể hiện trongBảng 8.13. tỷ lệ kèo bóng đá 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ị tỷ lệ kèo bóng đá/thời gian thông thường khi đọc. (Đặc biệt,Bây giờ
và tỷ lệ kèo bóng đá 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ả tỷ lệ kèo bóng đá giá trị này cần được đặt trong tỷ lệ kèo bóng đá trích dẫn đơn khi được sử dụng làm hằng số trong tỷ lệ kèo bóng đá lệnh SQL.
Bảng 8.13. Đầu vào tỷ lệ kèo bóng đá/giờ đặc biệt
Chuỗi nhập | tỷ lệ kèo bóng đá loại hợp lệ | Mô tả |
---|---|---|
Epoch |
tỷ lệ kèo bóng đá , Timestamp |
1970-01-01 00: 00: 00+00 (tỷ lệ kèo bóng đá hệ thống UNIX 0) |
Vô cực |
tỷ lệ kèo bóng đá , Dấu tỷ lệ kèo bóng đá |
muộn hơn tất cả tỷ lệ kèo bóng đá tem thời gian khác |
-Infinity |
tỷ lệ kèo bóng đá , Timestamp |
sớm hơn tất cả tỷ lệ kèo bóng đá tem thời gian khác |
Bây giờ |
tỷ lệ kèo bóng đá , tỷ lệ kèo bóng đá , Timestamp |
tỷ lệ kèo bóng đá bắt đầu của giao dịch hiện tại |
hôm nay |
tỷ lệ kèo bóng đá , Timestamp |
Midnight (00:00 37671_37680 |
tỷ lệ kèo bóng đá mai |
tỷ lệ kèo bóng đá , Timestamp |
Midnight (00:00 ) tỷ lệ kèo bóng đá mai |
tỷ lệ kèo bóng đá hôm qua |
tỷ lệ kèo bóng đá , Timestamp |
Midnight (00:00 ) Hôm qua |
Allballs |
tỷ lệ kèo bóng đá |
00: 00: 00.00 UTC |
sauSQL-tỷ lệ kèo bóng đá 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 kiểu dữ liệu tương ứng:current_date
, current_time
, current_timestamp
, địa phương
, LocalTimeStamp
. (Nhìn thấyPhần 9.9.4.) Lưu ý rằng đây là tỷ lệ kèo bóng đá chức năng SQL và làkhôngđược nhận dạng trong chuỗi đầu vào dữ liệu.
Trong khi tỷ lệ kèo bóng đá chuỗi đầu vàoBây giờ
, hôm nay
, tỷ lệ kèo bóng đá mai
vàtỷ lệ kèo bóng đá hôm qua
39452_39827current_date + 1
an toàn hơn'tỷ lệ kèo bóng đá mai' :: tỷ lệ kèo bóng đá
.
Định dạng đầu ra của các loại tỷ lệ kèo bóng đá/thời gian có thể được đặt thành một trong bốn kiểu ISO 8601,SQL(ingres), truyền thốngPostgres(UNIXtỷ lệ kèo bóng đáĐị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ủaSQLHồiĐịnh dạng đầu ra là một tai nạn lịch sử.)Bảng 8.14Hiển thị tỷ lệ kèo bóng đá ví dụ về từng kiểu đầu ra. Đầu ra củatỷ lệ kèo bóng đá
vàtỷ lệ kèo bóng đá
Các loại thường chỉ là tỷ lệ kèo bóng đá 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ỉ tỷ lệ kèo bóng đá trongISOĐịnh dạng.
Bảng 8.14. Kiểu đầu ra tỷ lệ kèo bóng đá/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 tỷ lệ kèo bóng đá 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ới RFC 3339 cũng như một số hệ thống cơ sở dữ liệu khác.
trongSQLvà các kiểu Postgres, tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá. (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 tỷ lệ kèo bóng đá giá trị đầu vào.)Bảng 8.15Hiển thị tỷ lệ kèo bóng đá ví dụ.
Bảng 8.15. tỷ lệ kèo bóng đá đặt hàng quy ước
Datestyle Cài đặt |
Đặt hàng đầu vào | đầu ra ví dụ |
---|---|---|
SQL, DMY |
tỷ lệ kèo bóng đá /tháng /năm |
17/12/1997 15: 37: 16.00 CET |
SQL, MDY |
tháng /tỷ lệ kèo bóng đá /năm |
12/17/1997 07: 37: 16.00 PST |
Postgres, DMY |
tỷ lệ kèo bóng đá /tháng /năm |
Thứ tư 17 tháng 12 07:37:16 1997 PST |
trongISOPhong cách, múi giờ luôn được hiển thị dưới dạng bù số có chữ ký từ UTC, với dấu hiệu tích cực được sử dụng cho tỷ lệ kèo bóng đá khu vực phía đông Greenwich. Phần bù sẽ được hiển thị dưới dạng45876_45880
(Chỉ giờ) Nếu đó là số giờ không thể thiếu, khác làHH
:mm
Nếu đó là số phút không thể thiếu, khác làHH
:mm
:SS
. . Nếu không, nó xuất hiện dưới dạng bù số có chữ ký trong định dạng cơ bản ISO 8601 (HH
hoặcHHMM
).
Kiểu tỷ lệ kèo bóng đá/giờ có thể được chọn bởi người dùng bằng cách sử dụngĐặt Datestyle
lệnh, TheDatestyletham số trongPostgreSql.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 đầu ra tỷ lệ kèo bóng đá/thời gian.
Các múi giờ và các công ướ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. 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 tỷ lệ kèo bóng đá.POSTGRESQL47941_48202
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,SQL48422_48515
mặc dùtỷ lệ kèo bóng đá
Loại không thể có múi giờ liên kết,tỷ lệ kèo bóng đá
Loại có thể. Các múi giờ trong thế giới thực có ít ý nghĩa trừ khi liên quan đến tỷ lệ kèo bóng đá cũng như thời gian, vì phần bù có thể thay đổi trong năm với ranh giới thời gian tiết kiệm ánh sáng ban tỷ lệ kèo bóng đá.
Múi tỷ lệ kèo bóng đá mặc định được chỉ định dưới dạng 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 tỷ lệ kèo bóng đá khi thực hiện số học tỷ lệ kèo bóng đá/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 tỷ lệ kèo bóng đá/thời gian có chứa cả tỷ lệ kèo bóng đá và giờ khi sử dụng múi giờ. Chúng tôi làmkhôngĐề nghị sử dụng loạitỷ lệ kèo bóng đá với múi giờ
(mặc dù nó được hỗ trợ bởiPostgreSQLĐối với tỷ lệ kèo bóng đá ứng dụng kế thừa và để tuân thủSQLtiêu chuẩn).POSTGRESQL49790_49864
Tất cả các tỷ lệ kèo bóng đá 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 trong 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 tỷ lệ kèo bóng đá 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ê trongpg_timezone_names
Xem (xemPhần 51.92).PostgreSQL50774_50902
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 tỷ lệ kèo bóng đá. Các chữ viết tắt được công nhận được liệt kê trongpg_timezone_abbrevs
Xem (xemPhần 51.91). Bạn không thể đặt tham số cấu hìnhtimezonehoặclog_timezoneViế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 tỷ lệ kèo bóng đá/thời gian và vớitại múi giờ
toán tử.
Ngoài tên và chữ viết tắt của múi giờ,POSTGRESQL51943_52012Postgresql:. 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.
Tóm lại, đây là sự khác biệt giữa chữ viết tắt và tên đầy đủ: chữ viết tắt thể hiện một phần bù cụ thể từ UTC, trong khi nhiều tên đầy đủ ngụ ý quy tắc thời gian tiết kiệm ánh sáng ban tỷ lệ kèo bóng đá địa phương, và do đó có hai lần giảm hai lần UTC. Ví dụ,2014-06-04 12:00 Mỹ/New_York
Đại diện cho buổi trưa giờ địa phương ở New York, trong tỷ lệ kèo bóng đá cụ thể này là thời gian ban tỷ lệ kèo bóng đá phía đông (UTC-4). Vì thế2014-06-04 12:00 EDT
52798_528392014-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 tỷ lệ kèo bóng đá có hiệu quả vào tỷ lệ kèo bóng đá đó không.
Để làm phức tạp tỷ lệ kèo bóng đá 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à tỷ lệ kèo bóng đá phạm vi khác nhau của UTC tại tỷ lệ kèo bóng đá thời điểm khác nhau; Ví dụ, trong MoscowMSK
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ì chúng có nghĩa (hoặc có nghĩa là gần đây nhất) vào tỷ lệ kèo bóng đá đượ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 tỷ lệ kèo bóng đá đó.
Trong tất cả tỷ lệ kèo bóng đá trường hợp, tên và chữ viết tắt đượ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 trong một số bối cảnh nhưng không phải khác.)
Không tên TimeZone 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ừ tỷ lệ kèo bóng đá 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 trong tệpPostgreSql.conf
hoặc theo bất kỳ cách tiêu chuẩn nào khác được mô tả trongChương 19. Ngoài ra còn có một số cách đặc biệt để đặt nó:
TheSQL54776_54787Đặ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 tỷ lệ kèo bóng đá 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:
55707_55711@]Số lượng
Đơn vị
[Số lượng
Đơn vị
...] [Hướng
]
WHERESố lượng
là một số (có thể đã ký);Đơn vị
làmicrosecond
, Millisecond
, thứ hai
, phút
, giờ
, tỷ lệ kèo bóng đá
, 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 tỷ lệ kèo bóng đá đơ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 tỷ lệ kèo bóng đá đơ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ả tỷ lệ kèo bóng đá 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
.
Số lượng tỷ lệ kèo bóng đá, giờ, phút và giây có thể được chỉ định mà không cần dấu hiệu đơn vị rõ ràng. Ví dụ,'1 12:59:10'
được đọc giống như'1 tỷ lệ kèo bóng đá 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ế, tỷ lệ kèo bóng đá hình thức ngắn hơn là tỷ lệ kèo bóng đá 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
.)
tỷ lệ kèo bóng đá 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ụngĐịnh dạng với người thiết kếcủa tiêu chuẩn Phần 4.4.3.2 hoặcHồiĐịnh dạng thay thếxôngcủ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 AP
và có thể bao gồm mộtT
giới thiệu các đơn vị thời gian trong tỷ lệ kèo bóng đá. 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 tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá) |
W | Tuần |
D | tỷ lệ kèo bóng đá |
H | giờ |
M | phút (trong phần tỷ lệ kèo bóng đá) |
S | giây |
ở định dạng thay thế:
P [năm
-tháng
-tỷ lệ kèo bóng đá
] [Tgiờ
:phút
:giây
]
Chuỗi phải bắt đầu bằngP
và AT
Tách các phần tỷ lệ kèo bóng đá 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ư tỷ lệ kèo bóng đá 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ớiTrường
Đặc điểm kỹ thuật, việc giải thích tỷ lệ kèo bóng đá đạ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, trong khiKhoảng '1'
Có nghĩa là 1 giây. Ngoài ra, tỷ lệ kèo bóng đá giá trị trườngsang phảiHàng61836_61885Trường
Đặc điểm kỹ thuật bị loại bỏ âm thầm. Ví dụ: ViếtKhoảng '1 tỷ lệ kèo bóng đá 2:03:04' Giờ đến phút
Kết quả là bỏ trường giây, nhưng không phải trường tỷ lệ kèo bóng đá.
theoSQLTiêu chuẩn Tất cả tỷ lệ kèo bóng đá trường của 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ả tỷ lệ kèo bóng đá trường; Ví dụ: dấu âm trong khoảng thời gian'-1 2:03:04'
Áp dụng cho cả hai tỷ lệ kèo bóng đá và giờ/phút/phần thứ hai.PostgreSQLCho phép tỷ lệ kèo bóng đá trường có tỷ lệ kèo bóng đá 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/phút/phút thứ hai được coi là dương trong ví dụ này. Nếu nhưIntercalStyle
đượ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ả tỷ lệ kèo bóng đá 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
Giá trị được lưu trữ dưới dạng ba trường tích phân: tháng, tỷ lệ kèo bóng đá và micro giây. Các trường này được giữ riêng vì số tỷ lệ kèo bóng đá trong một tháng thay đổi, trong khi một tỷ lệ kèo bóng đá có thể có 23 hoặc 25 giờ nếu có liên quan đến thời gian tiết kiệm ánh sáng ban tỷ lệ kèo bóng đá. Một chuỗi đầu vào khoảng sử dụng các đơn vị khác được chuẩn hóa thành định dạng này, sau đó được xây dựng lại theo cách chuẩn hóa cho đầu ra, ví dụ:
Chọn '2 năm 15 tháng 100 tuần 99 giờ 123456789 mili giây' :: khoảng thời gian; khoảng thời gian ------------------------------------------- 3 năm 3 Mons 700 tỷ lệ kèo bóng đá 133: 17: 36.789
Ở đây tuần, được hiểu là7 tỷ lệ kèo bóng đá, đã được giữ riêng biệt, trong khi tỷ lệ kèo bóng đá đơ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ó tỷ lệ kèo bóng đá 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ữ tỷ lệ kèo bóng đá trường tích phân, giá trị phân số phải được chuyển đổi thành tỷ lệ kèo bóng đá đơn vị nhỏ hơn. tỷ lệ kèo bóng đá phần phân số của tỷ lệ kèo bóng đá đơn vị lớn hơn tháng được cắt ngắn thành 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à tỷ lệ kèo bóng đá được tính toán là một số nguyên của tỷ lệ kèo bóng đá và micro giây, giả sử 30 tỷ lệ kèo bóng đá mỗi tháng và 24 giờ mỗi tỷ lệ kèo bóng đá, ví dụ:'1,75 tháng'
trở thành1 Mon 22 tỷ lệ kèo bóng đá 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 |
65599_65637 |
3 4:05:06 |
Định dạng tiêu chuẩn SQL: 3 tỷ lệ kèo bóng đá 4 giờ 5 phút 6 giây |
1 năm 2 tháng 3 tỷ lệ kèo bóng đá 4 giờ 5 phút 6 giây |
Định dạng Postgres truyền thống: 1 năm 2 tháng 3 tỷ lệ kèo bóng đá 4 giờ 5 phút 6 giây |
P1Y2M3DT4H5M6S |
ISO 8601Định dạng với người thiết kếHàng: Ý nghĩa tương tự như trên |
P0001-02-03T04: 05: 06 |
ISO 8601MạnhĐịnh dạng thay thế”: Ý nghĩa tương tự như trên |
Như đã giải thích trước đây,POSTGRESQLCửa hàngKhoảng
67040_67473Justify_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ị tỷ lệ kèo bóng đá hoặc giờ lớn sang trường cao hơn tiếp theo.)
Định dạng đầu ra của loại khoảng tỷ lệ kèo bóng đá có thể được đặt thành một trong bốn kiểuSQL_STANDARD
, Postgres
, Postgres_verbose
hoặcISO_8601
, Sử dụng lệnhĐặt khoảng tỷ lệ kèo bóng đá
. Mặc định làPostgres
Định dạng.Bảng 8.18Hiển thị tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá, 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 tỷ lệ kèo bóng đá, 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
69259_69290PostgreSQLphát hành trước 8.4 khiDatestyle
tham số được đặt thành khôngISO
đầu ra.
Đầu ra củaISO_8601
Kiểu 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 tỷ lệ kèo bóng đá
Đặc tả kiểu | Khoảng tỷ lệ kèo bóng đá năm | Khoảng thời gian ban tỷ lệ kèo bóng đá | Khoảng tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá 04:05:06 | 70713_70748 |
Postgres_verbose |
@ 1 năm 2 Mons | @ 3 tỷ lệ kèo bóng đá 4 giờ 5 phút 6 giây | @ 1 năm 2 Mons -3 tỷ lệ kèo bóng đá 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ì trong 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.