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 tỷ lệ kèo bóng đá tối nay phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

8.5. Các loại tỷ lệ kèo bóng đá tối nay/giờ#

PostgreSQLHỗ trợ toàn bộ bộSQLCác loại tỷ lệ kèo bóng đá tối nay và giờ, được hiển thị trongBảng 8.9. Các hoạt động có sẵn trên tỷ lệ kèo bóng đá tối nay dữ liệu này được mô tả trongPhần 9.9. tỷ lệ kèo bóng đá tối nay đượ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 đá tối nay/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ả tỷ lệ kèo bóng đá tối nay và giờ (không có múi giờ) 4713 bc 294276 AD 1 microsecond
dấu thời gian [(P)] với múi giờ 8 byte cả tỷ lệ kèo bóng đá tối nay và giờ, với múi giờ 4713 bc 294276 AD 1 microsecond
tỷ lệ kèo bóng đá tối nay 4 byte tỷ lệ kèo bóng đá tối nay (không có thời gian trong tỷ lệ kèo bóng đá tối nay) 4713 bc 5874897 AD 1 tỷ lệ kèo bóng đá tối nay
Thời gian [(P)] [không có múi giờ] 8 byte Thời gian trong tỷ lệ kèo bóng đá tối nay (không có tỷ lệ kèo bóng đá tối nay) 00:00:00 24:00:00 1 microsecond
Thời gian [(P)] với múi giờ 12 byte Thời gian trong tỷ lệ kèo bóng đá tối nay (không có tỷ lệ kèo bóng đá tối nay), 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ờPostgreSQLDanh dự hành vi đó.TIMESTAMPTZđược chấp nhận làm chữ viết tắt chodấu thời gian với múi giờ; Đây là mộtPostgreSQLphần mở 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 tỷ lệ kèo bóng đá tối nay chữ số phân số được giữ lại trong trường giây. Theo mặc định, không có ràng buộc rõ ràng về độ chính xác.Plà từ 0 đến 6.

TheKhoảngLoại có một tùy chọn bổ sung, đó là hạn chế tập hợp tỷ lệ kèo bóng đá tối nay trường được lưu trữ bằng cách viết một trong những cụm từ này:

Năm

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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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 đá tối nay trường hợp, sự kết hợp củatỷ lệ kèo bóng đá tối nay, Thời gian, 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 tỷ lệ kèo bóng đá tối nay/thời gian được yêu cầu bởi bất kỳ ứng dụng nào.

8.5.1. Đầu vào tỷ lệ kèo bóng đá tối nay/giờ#

Đầu vào tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay, tháng và năm đầu vào tỷ lệ kèo bóng đá tối nay là mơ hồ và có sự hỗ trợ để chỉ định thứ tự dự kiến ​​của các trường này.Datestyletham 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 đá tối nay/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 đá tối nay/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 đá tối nay trong tuần và múi giờ.

Hãy nhớ rằng bất kỳ đầu vào tỷ lệ kèo bóng đá tối nay 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 điểm kỹ thuậ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 choThời gian, Dấu thời gianKhoảngtỷ lệ kèo bóng đá tối nay 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. tỷ lệ kèo bóng đá tối nay#

Bảng 8.10Hiển thị một số đầu vào có thể chotỷ lệ kèo bóng đá tối nayLoại.

Bảng 8.10. Đầu vào tỷ lệ kèo bóng đá tối nay

Ví dụ Mô tả
1999-01-08 ISO 8601; tỷ lệ kèo bóng đá tối nay 8 tháng 1 ở bất kỳ chế độ nào (định dạng được đề xuất)
tỷ lệ kèo bóng đá tối nay 8 tháng 1 năm 1999 không rõ ràng trong bất kỳDatestyleChế độ nhập
1/8/1999 tỷ lệ kèo bóng đá tối nay 8 tháng 1 trongmdychế độ; tỷ lệ kèo bóng đá tối nay 1 tháng 8 trongDMYMode
1/18/1999 18 tháng 1 trongmdychế độ; bị từ chối trong tỷ lệ kèo bóng đá tối nay chế độ khác
01/02/03 tỷ lệ kèo bóng đá tối nay 2 tháng 1 năm 2003 trongmdychế độ; tỷ lệ kèo bóng đá tối nay 1 tháng 2 năm 2003 trongDMYchế độ; tỷ lệ kèo bóng đá tối nay 3 tháng 2 năm 2001 trongYMDMode
1999-JAN-08 tỷ lệ kèo bóng đá tối nay 8 tháng 1 ở bất kỳ chế độ nào
Jan-08-1999 tỷ lệ kèo bóng đá tối nay 8 tháng 1 ở bất kỳ chế độ nào
08-Jan-1999 tỷ lệ kèo bóng đá tối nay 8 tháng 1 ở bất kỳ chế độ nào
99-JAN-08 tỷ lệ kèo bóng đá tối nay 8 tháng 1 trongYMDchế độ, lỗi khác
08-JAN-99 tỷ lệ kèo bóng đá tối nay 8 tháng 1, ngoại trừ lỗi trongYMDMode
Jan-08-99 tỷ lệ kèo bóng đá tối nay 8 tháng 1, ngoại trừ lỗi trongYMDMode
19990108 ISO 8601; tỷ lệ kèo bóng đá tối nay 8 tháng 1 năm 1999 ở bất kỳ chế độ nào
990108 ISO 8601; tỷ lệ kèo bóng đá tối nay 8 tháng 1 năm 1999 ở bất kỳ chế độ nào
1999.008 năm và tỷ lệ kèo bóng đá tối nay trong năm
J2451187 tỷ lệ kèo bóng đá tối nay Julian
tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay, sau đó là múi giờ tùy chọn. (Nhìn thấyBảng 8.11Bảng 8.12.) Nếu múi giờ được chỉ định trong đầ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 tỷ lệ kèo bóng đá tối nay 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 đá tối nay, chẳng hạn nhưAmerica/new_york. Trong trường hợp này chỉ định tỷ lệ kèo bóng đá tối nay đượ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 đá tối nay.Thờ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 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ố là UTC Offset
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 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ờ 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 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)
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 đá tối nay múi giờ.

8.5.1.3. Tem thời gian#

Đầ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 tỷ lệ kèo bóng đá tối nay và một thời gian, theo sau là múi giờ tùy chọn, theo sau là tùy chọnADhoặcBC. (Cách khác,AD/BCCó 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ợ.

TheSQLkhác 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-Biể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'

dấu thời gian không có múi giờ, trong 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'

Trong 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 tỷ lệ kèo bóng đá tối nay/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 toàn cầu) 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ù chotimezoneVù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 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 trong khu vực đó. Để xem thời gian trong múi giờ khác, một trong 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 được đưa ra dưới dạngtimezonegiờ đị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 tỷ lệ kèo bóng đá tối nay/thời gian đặc biệt để thuận tiện, như thể hiện trongBảng 8.13. tỷ lệ kèo bóng đá tối nay 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ị tỷ lệ kèo bóng đá tối nay/thời gian thông thường khi đọc.Bây giờvà tỷ lệ kèo bóng đá tối nay 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 đá tối nay giá trị này cần được đặt trong tỷ lệ kèo bóng đá tối nay trích dẫn đơn khi được sử dụng làm hằng số trong tỷ lệ kèo bóng đá tối nay lệnh SQL.

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

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

sauSQL-tỷ lệ kèo bóng đá tối nay 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à tỷ lệ kèo bóng đá tối nay chức năng SQL và làkhôngđược nhận dạng trong chuỗi đầu vào dữ liệu.

THẬN TRỌNG

Trong khi tỷ lệ kèo bóng đá tối nay chuỗi đầu vàoBây giờ, hôm nay, tỷ lệ kèo bóng đá tối nay maitỷ lệ kèo bóng đá tối nay hôm quaĐược sử dụng trong tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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ỹ.current_date + 1an toàn hơn'tỷ lệ kèo bóng đá tối nay mai' :: tỷ lệ kèo bóng đá tối nay.

8.5.2. Đầu ra tỷ lệ kèo bóng đá tối nay/thời gian#

Định dạng đầu ra của các loại tỷ lệ kèo bóng đá tối nay/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 đá tối nayĐị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ị tỷ lệ kèo bóng đá tối nay ví dụ về từng kiểu đầu ra. Đầu ra củatỷ lệ kèo bóng đá tối naythời gianCác loại thường chỉ là tỷ lệ kèo bóng đá tối nay 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 đá tối nay trongISOĐịnh dạng.

Bảng 8.14. Kiểu đầu ra tỷ lệ kèo bóng đá tối nay/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 tỷ lệ kèo bóng đá tối nay 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.

trongSQLvà các kiểu Postgres, tỷ lệ kèo bóng đá tối nay 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 đá tối nay. (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 tỷ lệ kèo bóng đá tối nay giá trị đầu vào.)Bảng 8.15Hiển thị tỷ lệ kèo bóng đá tối nay ví dụ.

Bảng 8.15. tỷ lệ kèo bóng đá tối nay đặt hàng quy ước

DatestyleCài đặt Đặt hàng đầu vào đầu ra ví dụ
SQL, DMY tỷ lệ kèo bóng đá tối nay/tháng/năm 17/12/1997 15: 37: 16.00 CET
SQL, MDY tháng/tỷ lệ kèo bóng đá tối nay/năm 12/17/1997 07: 37: 16.00 PST
Postgres, DMY tỷ lệ kèo bóng đá tối nay/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 đá tối nay 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 không thể thiếu, khác làHH:mm:SS. .HHhoặcHHMM). tỷ lệ kèo bóng đá tối nay chữ viết tắt chữ cái được hiển thị trong tỷ lệ kèo bóng đá tối nay kiểu này được lấy từ mục nhập cơ sở dữ liệu múi giờ IANA hiện đang được chọn bởitimezoneTham số thời gian chạy; Họ không bị ảnh hưởng bởitimezone_abbreviationCài đặt.

Kiểu tỷ lệ kèo bóng đá tối nay/giờ có thể được chọn bởi người dùng bằng cách sử dụngĐặt Datestyletỷ lệ kèo bóng đá tối naynh, TheDatestyletham số trongPostgreSql.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 tỷ lệ kèo bóng đá tối nay/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 tỷ lệ kèo bóng đá tối nay.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ề tỷ lệ kèo bóng đá tối nay 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à tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay và thời gian và khả năng. Hai vấn đề rõ ràng là:

  • mặc dùtỷ lệ kèo bóng đá tối nayLoại không thể có múi giờ liên kết,thời gianLoạ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 đá tối nay 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 đá tối nay.

  • 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 tỷ lệ kèo bóng đá tối nay khi thực hiện số học tỷ lệ kèo bóng đá tối nay/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 đá tối nay/thời gian có chứa cả tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay ứ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 tỷ lệ kèo bóng đá tối nay hoặc thời gian.

Tất cả các tỷ lệ kèo bóng đá tối nay 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 đá tối nay 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_namesXem (xemPhần 53.34).PostgreSQLSử dụng dữ liệu múi giờ IANA được sử dụng rộng rãi cho mục đích này, do đó, cùng tên múi giờ cũng được công nhận bởi phần mềm khác.

  • Ví dụ 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 đá tối nay.pg_timezone_abbrevsXem (xemPhần 53.33). 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 đá tối nay/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ờ,PostgreSQLsẽ chấp nhận thông số kỹ thuật múi giờ kiểu POSIX, như được mô tả trongPhầ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.

Tóm lại, đây là sự khác biệt giữa 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 đá tối nay địa phương, và do đó có hai lần bù UTC có thể. 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 đá tối nay cụ thể này là thời gian ban tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay có hiệu quả vào tỷ lệ kèo bóng đá tối nay đó không.

Lưu ý

Thông số kỹ thuật múi giờ theo kiểu POSIX có nghĩa ngược lại của tỷ lệ kèo bóng đá tối nay giá trị DateTime ISO-8601. Ví dụ: múi giờ POSIX cho2014-06-04 12: 00+04sẽ là UTC-4.

Để làm phức tạp tỷ lệ kèo bóng đá tối nay vấn đề, một số khu vực pháp lý đã sử dụng cùng một chữ viết tắt thời gian để có nghĩa là tỷ lệ kèo bóng đá tối nay phạm vi khác nhau của UTC tại tỷ lệ kèo bóng đá tối nay thời điểm khác nhau; Ví dụ, trong MoscowMSKcó 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 đá tối nay đượ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 tỷ lệ kèo bóng đá tối nay đó.

Trong tất cả tỷ lệ kèo bóng đá tối nay 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 đều khó có dây vào máy chủ; Chúng được lấy từ tỷ lệ kèo bóng đá tối nay 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 trong tệpPostgreSql.confhoặ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ó:

  • TheSQLtỷ lệ kèo bóng đá tối naynhĐặ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 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ờtỷ lệ kèo bóng đá tối naynh đế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 Đơn vị...] [Hướng]

WHERESố lượnglà một số (có thể đã ký);Đơn vịmicrosecond, Millisecond, thứ hai, phút, giờ, tỷ lệ kèo bóng đá tối nay, 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 đá tối nay đơ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 tỷ lệ kèo bóng đá tối nay đơ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ả tỷ lệ kèo bóng đá tối nay 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 đá tối nay, 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 đá tối nay 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;'200-10'được đọc giống như'200 năm 10 tháng'. (Trên thực tế, tỷ lệ kèo bóng đá tối nay hình thức ngắn hơn là tỷ lệ kèo bóng đá tối nay 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 đá tối nay 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ụngMạnhĐị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 Đơn vị[ Số lượng Đơn vị...] [T [ Số lượng Đơn vị...]]

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

ở định dạng thay thế:

P [ năm-tháng-tỷ lệ kèo bóng đá tối nay ] [Tgiờ:phút:giây ]

Chuỗi phải bắt đầu bằngPvà ATtách các phần tỷ lệ kèo bóng đá tối nay 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 đá tối nay 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 ATrườngĐặc điểm kỹ thuật, việc giải thích tỷ lệ kèo bóng đá tối nay đạ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 đá tối nay giá trị trườngsang phả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 tỷ lệ kèo bóng đá tối nay 2:03:04' Giờ đến phútdẫn đến việc bỏ trường giây, nhưng không phải trường tỷ lệ kèo bóng đá tối nay.

theoSQLTiêu chuẩn Tất cả tỷ lệ kèo bóng đá tối nay 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 đá tối nay 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 đá tối nay và giờ/phút/phần thứ hai.PostgreSQLCho phép tỷ lệ kèo bóng đá tối nay trường có tỷ lệ kèo bóng đá tối nay 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ư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ả tỷ lệ kèo bóng đá tối nay 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ảngGiá trị được lưu trữ dưới dạng ba trường tích phân: tháng, tỷ lệ kèo bóng đá tối nay và micro giây. Các trường này được giữ riêng vì số tỷ lệ kèo bóng đá tối nay trong một tháng thay đổi, trong khi một tỷ lệ kèo bóng đá tối nay 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 đá tối nay.

Chọn '2 năm 15 tháng 100 tuần 99 giờ 123456789 mili giây' :: khoảng thời gian;

Ở đây tuần, được hiểu là7 tỷ lệ kèo bóng đá tối nay, đã được giữ riêng biệt, trong khi tỷ lệ kèo bóng đá tối nay đơ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 đá tối nay 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ữ tỷ lệ kèo bóng đá tối nay 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 đá tối nay đơn vị nhỏ hơn. tỷ lệ kèo bóng đá tối nay phần phân số của tỷ lệ kèo bóng đá tối nay đơ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à tỷ lệ kèo bóng đá tối nay được tính toán là một số nguyên của tỷ lệ kèo bóng đá tối nay và micro giây, giả sử 30 tỷ lệ kèo bóng đá tối nay mỗi tháng và 24 giờ mỗi tỷ lệ kèo bóng đá tối nay, ví dụ:'1,75 tháng'trở thành1 Mon 22 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 4 giờ 5 phút 6 giây
1 năm 2 tháng 3 tỷ lệ kèo bóng đá tối nay 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 đá tối nay 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ế: Ý 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, tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay được hiển thị như-IS.Justify_DaysJustify_HoursCó 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 đá tối nay 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 trong bốn kiểuSQL_STANDARD, Postgres, Postgres_verbosehoặcISO_8601, Sử dụng tỷ lệ kèo bóng đá tối naynhĐặt khoảng thời gian. Mặc định làPostgresĐịnh dạng.Bảng 8.18Hiển thị tỷ lệ kèo bóng đá tối nay ví dụ về từng kiểu đầu ra.

TheSQL_STANDARDPhong cách tạo ra đầu ra phù hợp với đặc tả tiêu chuẩn của 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 đá tối nay, 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 đá tối nay, 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ếĐượ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 thời gian

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