Bảng 9.31Hiển thị các chức năng có sẵn để xử lý giá trị kèo bóng đá pháp/thời gian, với các chi tiết xuất hiện trong các tiểu mục sau.Bảng 9.30Minh họa các hành vi của các toán tử số học cơ bản (+
,*
, v.v.). Để biết các chức năng định dạng, tham khảoPhần 9.8. Bạn nên quen với thông tin cơ bản về các loại dữ liệu kèo bóng đá pháp/giờ từPhần 8.5.
Ngoài ra, các toán tử so sánh thông thường được hiển thị trongBảng 9.1Có sẵn cho các loại kèo bóng đá pháp/giờ. kèo bóng đá pháp và dấu thời gian (có hoặc không có múi giờ) đều có thể so sánh, trong khi thời gian (có hoặc không có múi giờ) và các khoảng thời gian chỉ có thể được so sánh với các giá trị khác của cùng loại dữ liệu.timezoneTham số cấu hình và được xoay thành UTC để so sánh với giá trị sau (đã ở UTC bên trong). Tương tự, giá trị kèo bóng đá pháp được giả định là đại diện cho nửa đêm trongtimezone
Vùng khi so sánh nó với dấu kèo bóng đá pháp.
Tất cả các chức năng và toán tử được mô tả bên dưới lấykèo bóng đá pháp
hoặcDấu kèo bóng đá pháp
Đầu vào thực sự có hai biến thể: một biến thểkèo bóng đá pháp với múi giờ
hoặcdấu kèo bóng đá pháp với múi giờ
, và một cái màkèo bóng đá pháp không có múi giờ
hoặcdấu kèo bóng đá pháp không có múi giờ
. Đối với sự ngắn gọn, các biến thể này không được hiển thị riêng.+
và*
Các toán tử đi vào các cặp giao hoán (ví dụ: cả haikèo bóng đá pháp
+
Số nguyên
vàSố nguyên
+
kèo bóng đá pháp
); Chúng tôi chỉ hiển thị một trong mỗi cặp như vậy.
Bảng 9.30.Toán tử kèo bóng đá pháp/giờ
Nhà điều hành | Ví dụ | result |
---|---|---|
+ |
kèo bóng đá pháp '2001-09-28' + Integer '7' |
kèo bóng đá pháp '2001-10-05' |
+ |
kèo bóng đá pháp '2001-09-28' + khoảng '1 giờ' |
Timestamp '2001-09-28 01:00:00' |
+ |
kèo bóng đá pháp '2001-09-28' + Thời gian '03: 00 ' |
Timestamp '2001-09-28 03:00:00' |
+ |
Khoảng '1 kèo bóng đá pháp' + khoảng '1 giờ' |
Khoảng '1 kèo bóng đá pháp 01:00:00' |
+ |
Timestamp '2001-09-28 01:00' + Interval '23 giờ ' |
Timestamp '2001-09-29 00:00:00' |
+ |
kèo bóng đá pháp '01: 00 ' + Khoảng' 3 giờ ' |
kèo bóng đá pháp '04: 00: 00 ' |
- |
- khoảng '23 giờ ' |
Khoảng '-23: 00: 00' |
- |
kèo bóng đá pháp '2001-10-01'-kèo bóng đá pháp '2001-09-28' |
Integer '3' (kèo bóng đá pháp) |
- |
kèo bóng đá pháp '2001-10-01'-Integer '7' |
kèo bóng đá pháp '2001-09-24' |
- |
kèo bóng đá pháp '2001-09-28'-Khoảng '1 giờ' |
Timestamp '2001-09-27 23:00:00' |
- |
kèo bóng đá pháp '05: 00 ' - kèo bóng đá pháp '03: 00' |
Interval '02: 00: 00 ' |
- |
kèo bóng đá pháp '05: 00 ' - Khoảng' 2 giờ ' |
kèo bóng đá pháp '03: 00: 00 ' |
- |
Timestamp '2001-09-28 23:00'-Interval '23 giờ ' |
Timestamp '2001-09-28 00:00:00' |
- |
Khoảng '1 kèo bóng đá pháp' - Khoảng '1 giờ' |
Khoảng '1 kèo bóng đá pháp -01: 00: 00' |
- |
Timestamp '2001-09-29 03:00'-Timestamp '2001-09-27 12:00' |
Khoảng '1 kèo bóng đá pháp 15:00:00' |
* |
900 * Khoảng '1 giây' |
Khoảng '00: 15: 00 ' |
* |
21 * Khoảng '1 kèo bóng đá pháp' |
Interval '21 Days ' |
* |
độ chính xác gấp đôi '3,5' * khoảng '1 giờ' |
Khoảng '03: 30: 00 ' |
/ |
Khoảng '1 giờ' / độ chính xác gấp đôi '1.5' |
Khoảng '00: 40: 00 ' |
Bảng 9.31.Chức năng kèo bóng đá pháp/giờ
chức năng | Loại trả lại | Mô tả | Ví dụ | Kết quả |
---|---|---|---|---|
|
Khoảng |
đối số trừ, sản xuất AHồibiểu tượngHồiKết quả sử dụng nhiều năm và tháng, thay vì chỉ kèo bóng đá pháp | Tuổi (Timestamp '2001-04-10', Timestamp '1957-06-13') |
43 năm 9 Mons 27 kèo bóng đá pháp |
|
Khoảng |
Trừ từcurrent_date (lúc nửa đêm) |
Age (Timestamp '1957-06-13') |
43 năm 8 Mons 3 kèo bóng đá pháp |
|
dấu kèo bóng đá pháp với múi giờ |
kèo bóng đá pháp và giờ hiện tại (thay đổi trong quá trình thực thi tuyên bố); nhìn thấyPhần 9.9.4 | ||
|
kèo bóng đá pháp |
kèo bóng đá pháp hiện tại; nhìn thấyPhần 9.9.4 | ||
|
kèo bóng đá pháp với múi giờ |
Thời gian hiện tại trong kèo bóng đá pháp; nhìn thấyPhần 9.9.4 | ||
|
dấu kèo bóng đá pháp với múi giờ |
kèo bóng đá pháp và giờ hiện tại (bắt đầu giao dịch hiện tại); nhìn thấyPhần 9.9.4 | ||
|
Double Precision |
Nhận trường con (tương đương vớiTrích xuất ); nhìn thấyPhần 9.9.1 |
date_part ('giờ', dấu kèo bóng đá pháp '2001-02-16 20:38:40') |
20 |
|
Double Precision |
Nhận trường con (tương đương vớiTrích xuất ); nhìn thấyPhần 9.9.1 |
date_part ('tháng', khoảng '2 năm 3 tháng') |
3 |
|
Timestamp |
Cắt ngắn để chính xác được chỉ định; nhìn thấyPhần 9.9.2 | date_trunc ('giờ', dấu kèo bóng đá pháp '2001-02-16 20:38:40') |
2001-02-16 20:00:00 |
|
dấu kèo bóng đá pháp với múi giờ |
Cắt ngắn độ chính xác được chỉ định trong múi giờ được chỉ định; nhìn thấyPhần 9.9.2 | date_trunc ('kèo bóng đá pháp', Timestampz '2001-02-16 20: 38: 40+00', 'Australia/Sydney') |
2001-02-16 13: 00: 00+00 |
|
Khoảng |
Cắt ngắn để có độ chính xác được chỉ định; nhìn thấyPhần 9.9.2 | date_trunc ('giờ', khoảng '2 kèo bóng đá pháp 3 giờ 40 phút') |
2 kèo bóng đá pháp 03:00:00 |
|
Double Precision |
Nhận trường con; nhìn thấyPhần 9.9.1 | Trích xuất (giờ từ Timestamp '2001-02-16 20:38:40') |
20 |
|
Double Precision |
Nhận trường con; nhìn thấyPhần 9.9.1 | Trích xuất (tháng từ khoảng kèo bóng đá pháp '2 năm 3 tháng') |
3 |
|
Boolean |
Kiểm tra kèo bóng đá pháp hữu hạn (không phải +/- vô cực) | isfinite (kèo bóng đá pháp '2001-02-16') |
TRUE |
|
Boolean |
Kiểm tra tem kèo bóng đá pháp hữu hạn (không phải +/- infinity) | isfinite (Timestamp '2001-02-16 21:28:30') |
TRUE |
|
Boolean |
Kiểm tra khoảng kèo bóng đá pháp hữu hạn | isfinite (khoảng '4 giờ') |
TRUE |
|
Khoảng |
Điều chỉnh khoảng thời gian vì vậy khoảng thời gian 30 kèo bóng đá pháp được biểu diễn dưới dạng tháng | Justify_days (khoảng '35 kèo bóng đá pháp ') |
1 Mon 5 kèo bóng đá pháp |
|
Khoảng |
Điều chỉnh khoảng thời gian 24 giờ được biểu diễn dưới dạng kèo bóng đá pháp | Justify_Hours (khoảng '27 giờ ') |
1 kèo bóng đá pháp 03:00:00 |
|
Khoảng |
Điều chỉnh khoảng kèo bóng đá pháp sử dụngJustify_Days vàJustify_Hours , với các điều chỉnh dấu hiệu bổ sung |
Justify_interval (khoảng '1 mon -1 giờ') |
29 kèo bóng đá pháp 23:00:00 |
|
kèo bóng đá pháp |
Thời gian hiện tại trong kèo bóng đá pháp; nhìn thấyPhần 9.9.4 | ||
|
Timestamp |
kèo bóng đá pháp và giờ hiện tại (bắt đầu giao dịch hiện tại); nhìn thấyPhần 9.9.4 | ||
|
kèo bóng đá pháp |
Tạo kèo bóng đá pháp từ năm, tháng và kèo bóng đá pháp | make_date (2013, 7, 15) |
2013-07-15 |
|
Interval |
Tạo khoảng từ các năm, tháng, tuần, kèo bóng đá pháp, giờ, phút và giây trường | make_interval (kèo bóng đá pháp = 10) |
10 kèo bóng đá pháp |
|
kèo bóng đá pháp |
Tạo kèo bóng đá pháp từ giờ, phút và giây trường | make_time (8, 15, 23.5) |
08:15:23.5 |
|
Dấu kèo bóng đá pháp |
Tạo dấu thời gian từ các trường năm, tháng, kèo bóng đá pháp, giờ, phút và giây | Make_Timestamp (2013, 7, 15, 8, 15, 23.5) |
2013-07-15 08:15:23.5 |
|
dấu kèo bóng đá pháp với múi giờ |
Tạo dấu thời gian với múi giờ từ năm, tháng, kèo bóng đá pháp, giờ, phút và giây; nếu nhưtimezone không được chỉ định, múi giờ hiện tại được sử dụng |
make_timestamptz (2013, 7, 15, 8, 15, 23.5) |
2013-07-15 08: 15: 23.5+01 |
|
dấu kèo bóng đá pháp với múi giờ |
kèo bóng đá pháp và giờ hiện tại (bắt đầu giao dịch hiện tại); nhìn thấyPhần 9.9.4 | ||
|
dấu kèo bóng đá pháp với múi giờ |
kèo bóng đá pháp và giờ hiện tại (bắt đầu câu lệnh hiện tại); nhìn thấyPhần 9.9.4 | ||
|
Text |
kèo bóng đá pháp và giờ hiện tại (nhưclock_timestamp , nhưng dưới dạngText chuỗi); nhìn thấyPhần 9.9.4 |
||
|
dấu kèo bóng đá pháp với múi giờ |
kèo bóng đá pháp và giờ hiện tại (bắt đầu giao dịch hiện tại); nhìn thấyPhần 9.9.4 | ||
|
dấu kèo bóng đá pháp với múi giờ |
Chuyển đổi Epoch Unix (giây kể từ 1970-01-01 00: 00: 00+00) thành dấu kèo bóng đá pháp | TO_TIMESTAMP (1284352323) |
2010-09-13 04: 32: 03+00 |
Ngoài các chức năng này, SQLchồng chéo
Nhà điều hành được hỗ trợ:
(START1
,end1
) Overlaps (START2
,end2
)START1
,LEGN1
) Overlaps (START2
,LEGN2
)
Biểu thức này mang lại sự thật khi hai khoảng thời gian (được xác định bởi các điểm cuối của chúng) chồng chéo, sai khi chúng không trùng nhau. Các điểm cuối có thể được chỉ định là các cặp kèo bóng đá pháp, thời gian hoặc tem thời gian;chồng chéo
Tự động lấy giá trị trước đó của cặp khi bắt đầu. Mỗi khoảng kèo bóng đá pháp được coi là đại diện cho khoảng kèo bóng đá pháp nửa mởBắt đầu
<=
kèo bóng đá pháp
<
kết thúc
, trừ khiBắt đầu
vàkết thúc
bằng nhau trong trường hợp nó đại diện cho kèo bóng đá pháp duy nhất đó ngay lập tức. Điều này có nghĩa là hai khoảng kèo bóng đá pháp chỉ có điểm cuối chung không trùng nhau.
Chọn (kèo bóng đá pháp '2001-02-16', kèo bóng đá pháp '2001-12-21')Kết quả:TRUE
Chọn (kèo bóng đá pháp '2001-02-16', khoảng thời gian '100 kèo bóng đá pháp')Kết quả:Sai
Chọn (kèo bóng đá pháp '2001-10-29', kèo bóng đá pháp '2001-10-30')Kết quả:Sai
Chọn (kèo bóng đá pháp '2001-10-30', kèo bóng đá pháp '2001-10-30')Kết quả:TRUE
Khi thêmKhoảng
Giá trị để (hoặc trừ mộtKhoảng
Giá trị từ) Adấu kèo bóng đá pháp với múi giờ
Giá trị, các kèo bóng đá pháp thành phần tiến bộ hoặc giảm kèo bóng đá phápdấu kèo bóng đá pháp với múi giờ
Theo số kèo bóng đá pháp được chỉ định, giữ thời gian trong kèo bóng đá pháp. Trong thời gian tiết kiệm ánh sáng ban kèo bóng đá pháp thay đổi (khi múi giờ phiên được đặt thành múi giờ nhận ra DST), điều này có nghĩa làKhoảng '1 kèo bóng đá pháp'
không nhất thiết phải bằngKhoảng '24 giờ '
. Ví dụ: với múi giờ phiên được đặt thànhMỹ/Denver
:
Chọn dấu thời gian với múi giờ '2005-04-02 12: 00: 00-07' + khoảng '1 kèo bóng đá pháp';Kết quả:2005-04-03 12:00:00-06
Chọn dấu kèo bóng đá pháp với múi giờ '2005-04-02 12: 00: 00-07' + khoảng kèo bóng đá pháp '24 giờ ';Kết quả:2005-04-03 13:00:00-06
Điều này xảy ra vì một giờ đã bị bỏ qua do thay đổi thời gian tiết kiệm ánh sáng ban kèo bóng đá pháp tại2005-04-03 02:00:00
Trong múi giờMỹ/Denver
.
Lưu ý Có thể có sự mơ hồ trongtháng
Trường được trả về bởiAge
Vì các tháng khác nhau có số kèo bóng đá pháp khác nhau.POSTGRESQLS tiếp cận sử dụng tháng từ trước đó của hai kèo bóng đá pháp khi tính toán một phần một phần. Ví dụ,Age ('2004-06-01', '2004-04-30')
Sử dụng tháng 4 để mang lại1 mon 1 kèo bóng đá pháp
, trong khi sử dụng có thể sẽ mang lại1 mon 2 kèo bóng đá pháp
Vì có thể có 31 kèo bóng đá pháp, trong khi tháng Tư chỉ có 30.
phép trừ kèo bóng đá pháp và dấu thời gian cũng có thể phức tạp. Một cách đơn giản về mặt khái niệm để thực hiện phép trừ là chuyển đổi từng giá trị thành một số giây bằng cách sử dụngTrích xuất (kỷ nguyên từ ...)
, sau đó trừ kết quả; Điều này tạo ra số lượnggiâyGiữa hai giá trị. Điều này sẽ điều chỉnh số kèo bóng đá pháp trong mỗi tháng, thay đổi múi giờ và điều chỉnh thời gian tiết kiệm ánh sáng ban kèo bóng đá pháp.Hồi-
xôngNhà điều hành trả về số kèo bóng đá pháp (24 giờ) và giờ/phút/giây giữa các giá trị, thực hiện các điều chỉnh giống nhau. TheAge
Hàm trả về năm, tháng, kèo bóng đá pháp và giờ/phút/giây, thực hiện phép trừ trường theo từng trường và sau đó điều chỉnh các giá trị trường âm. Các truy vấn sau đây minh họa sự khác biệt trong các phương pháp này.TimeZone = 'US/East'
; Có sự thay đổi thời gian tiết kiệm ánh sáng ban kèo bóng đá pháp giữa hai kèo bóng đá pháp được sử dụng:
Chọn trích xuất (kỷ nguyên từ Timestampz '2013-07-01 12:00:00')-Kết quả:10537200
Chọn (Trích xuất (Epoch từ Timestampz '2013-07-01 12:00:00')-Kết quả:121.958333333333
46434_46515Kết quả:121 kèo bóng đá pháp 23:00:00
Chọn tuổi (Timestampz '2013-07-01 12:00:00', Timestampz '2013-03-01 12:00:00');Kết quả:4 Mons
Trích xuất
,date_part
Trích xuất (trường
từNguồn
)
TheTrích xuất
Hàm truy xuất các trường con như năm hoặc giờ từ kèo bóng đá pháp/giá trị thời gian.Nguồn
phải là biểu thức giá trị của loạiTimestamp
,kèo bóng đá pháp
hoặcKhoảng
. (Biểu thức của loạikèo bóng đá pháp
được đúc thànhTimestamp
và do đó cũng có thể được sử dụng.)trường
là một định danh hoặc chuỗi chọn trường nào để trích xuất từ giá trị nguồn. TheTrích xuất
Hàm trả về các giá trị của loạiDouble Precision
. Sau đây là tên trường hợp lệ:
Century
Thế kỷ
Chọn trích xuất (thế kỷ từ dấu kèo bóng đá pháp '2000-12-16 12:21:13');Kết quả:20
Chọn trích xuất (thế kỷ từ Timestamp '2001-02-16 20:38:40');Kết quả:21
Thế kỷ thứ nhất bắt đầu tại 0001-01-01 00:00:00 sau Công nguyên, mặc dù họ không biết điều đó vào kèo bóng đá pháp điểm đó. Định nghĩa này áp dụng cho tất cả các quốc gia lịch Gregorian.
kèo bóng đá pháp
choTimestamp
Giá trị, kèo bóng đá pháp (của tháng) (1 - 31); vìKhoảng
Giá trị, số kèo bóng đá pháp
Chọn trích xuất (kèo bóng đá pháp từ dấu thời gian '2001-02-16 20:38:40');Kết quả:16
Chọn trích xuất (kèo bóng đá pháp từ khoảng '40 kèo bóng đá pháp 1 phút ');Kết quả:40
Decade
Trường năm chia cho 10
Chọn trích xuất (thập kỷ từ dấu kèo bóng đá pháp '2001-02-16 20:38:40');Kết quả:200
Dow
kèo bóng đá pháp trong tuần như Chủ nhật (0
) đến thứ bảy (6
)
Chọn Trích xuất (Dow từ Timestamp '2001-02-16 20:38:40');Kết quả:5
Lưu ý rằngTrích xuất
kèo bóng đá pháp số tuần khác khác với kèo bóng đá phápto_char (..., 'd')
chức năng.
doy
kèo bóng đá pháp trong năm (1 - 365/366)
Chọn trích xuất (doy từ Timestamp '2001-02-16 20:38:40');Kết quả:47
Epoch
chodấu kèo bóng đá pháp với múi giờ
Giá trị, số giây kể từ 1970-01-01 00:00:00 UTC (âm cho dấu kèo bóng đá pháp trước đó); vìkèo bóng đá pháp
vàDấu kèo bóng đá pháp
Giá trị, số giây danh nghĩa kể từ 1970-01-01 00:00:00, mà không liên quan đến các quy tắc về thời gian hoặc sáng ban kèo bóng đá pháp; vìKhoảng
Giá trị, tổng số giây trong khoảng
Chọn trích xuất (kỷ nguyên từ dấu kèo bóng đá pháp với múi giờ '2001-02-16 20: 38: 40.12-08');Kết quả:982384720.12
Chọn Trích xuất (Epoch từ Timestamp '2001-02-16 20: 38: 40.12');Kết quả:982355920.12
Chọn Trích xuất (kỷ nguyên từ khoảng '5 kèo bóng đá pháp 3 giờ');Kết quả:442800
Bạn có thể chuyển đổi giá trị epoch trở lạidấu kèo bóng đá pháp với múi giờ
vớiTO_TIMESTAMP
:
Chọn To_Timestamp (982384720.12);Kết quả:2001-02-17 04: 38: 40.12+00
Coi chừng áp dụngto_timestamp
đến một kỷ nguyên được trích xuất từ Akèo bóng đá pháp
hoặcTimestamp
Giá trị có thể tạo ra kết quả sai lệch: Kết quả sẽ giả định một cách hiệu quả rằng giá trị ban đầu đã được đưa ra trong UTC, có thể không phải là trường hợp.
giờ
Trường giờ (0 - 23)
Chọn Trích xuất (giờ từ Timestamp '2001-02-16 20:38:40');Kết quả:20
isodow
kèo bóng đá pháp trong tuần là Thứ Hai (1
) đến Chủ nhật (7
)
Chọn trích xuất (Isodow từ Timestamp '2001-02-18 20:38:40');Kết quả:7
Điều này giống hệt vớiDow
Ngoại trừ Chủ nhật. Điều này phù hợp vớiISO8601 kèo bóng đá pháp trong tuần.
ISOYEAR
TheISO8601 năm đánh số tuần mà kèo bóng đá pháp rơi vào (không áp dụng cho các khoảng thời gian)
Chọn trích xuất (Isoyear từ kèo bóng đá pháp '2006-01-01');Kết quả:2005
Chọn Trích xuất (Isoyear từ kèo bóng đá pháp '2006-01-02');Kết quả:2006
mỗiISO8601 Năm đánh dấu tuần bắt đầu với Thứ Hai trong tuần có chứa kèo bóng đá pháp 4 tháng 1, vì vậy vào đầu tháng 1 hoặc cuối tháng 12,ISONăm có thể khác với năm Gregorian. XemTuần
Trường để biết thêm thông tin.
Trường này không có sẵn trong các bản phát hành PostgreSQL trước 8.3.
Julian
Thekèo bóng đá pháp Juliantương ứng với kèo bóng đá pháp hoặc dấu thời gian (không áp dụng cho các khoảng thời gian). Dấu thời gian không phải là nửa đêm cục bộ dẫn đến giá trị phân số.Phần B.7Để biết thêm thông tin.
Chọn trích xuất (Julian từ kèo bóng đá pháp '2006-01-01');Kết quả:2453737
Chọn trích xuất (Julian từ Timestamp '2006-01-01 12:00');Kết quả:2453737.5
micro giây
Trường thứ hai, bao gồm các bộ phận phân số, nhân với 1 000 000; Lưu ý rằng điều này bao gồm các giây đầy đủ
Chọn trích xuất (micro giây từ kèo bóng đá pháp '17: 12: 28.5 ');Kết quả:28500000
Thiên niên kỷ
Thiên niên kỷ
Chọn Trích xuất (Thiên niên kỷ từ Timestamp '2001-02-16 20:38:40');result:3
Năm trong những năm 1900 trong thiên niên kỷ thứ hai. Thiên niên kỷ thứ ba bắt đầu từ kèo bóng đá pháp 1 tháng 1 năm 2001.
Milliseconds
Trường thứ hai, bao gồm các phần phân số, nhân với 1000. Lưu ý rằng điều này bao gồm các giây đầy đủ.
Chọn Trích xuất (mili giây từ kèo bóng đá pháp '17: 12: 28.5 ');Kết quả:28500
phút
Trường số phút (0 - 59)
Chọn Trích xuất (Phút từ Timestamp '2001-02-16 20:38:40');Kết quả:38
tháng
choTimestamp
Giá trị, số của tháng trong năm (1 - 12); vìKhoảng
Giá trị, số tháng, modulo 12 (0 - 11)
Chọn trích xuất (tháng từ dấu kèo bóng đá pháp '2001-02-16 20:38:40');Kết quả:2
Chọn trích xuất (tháng từ khoảng '2 năm 3 tháng');Kết quả:3
Chọn trích xuất (tháng từ khoảng '2 năm 13 tháng');Kết quả:1
quý
quý trong năm (1 - 4) kèo bóng đá pháp đó là trong
Chọn trích xuất (quý từ Timestamp '2001-02-16 20:38:40');Kết quả:1
thứ hai
Trường thứ hai, bao gồm các bộ phận phân số (0 - 59[7])
Chọn trích xuất (thứ hai từ dấu kèo bóng đá pháp '2001-02-16 20:38:40');Kết quả:40
Chọn trích xuất (thứ hai từ kèo bóng đá pháp '17: 12: 28.5 ');Kết quả:28.5
timezone
Múi giờ bù từ UTC, được đo bằng giây. Các giá trị dương tương ứng với các múi giờ ở phía đông UTC, các giá trị âm đối với các vùng phía tây UTC.POSTGRESQLKhông sử dụng UTC vì số giây nhảy không được xử lý.)
timezone_hour
Thành phần giờ của múi giờ bù
timezone_minute
Thành phần phút của múi giờ bù
tuần
Số lượng củaISO8601 tuần số tuần trong năm. Theo định nghĩa, ISO Weeks bắt đầu vào thứ Hai và tuần đầu tiên của một năm chứa kèo bóng đá pháp 4 tháng 1 năm đó.
Trong hệ thống đánh dấu tuần ISO, có thể các kèo bóng đá pháp đầu tháng 1 là một phần của tuần thứ 52 hoặc 53 của năm trước và trong kèo bóng đá pháp cuối tháng 12 là một phần của tuần đầu tiên của năm sau. Ví dụ,2005-01-01
là một phần của tuần thứ 53 của năm 2004 và2006-01-01
là một phần của tuần thứ 52 của năm 2005, trong khi2012-12-31
là một phần của tuần đầu tiên của năm 2013. Nên sử dụngISOYEAR
trường cùng vớiTuần
Để có kết quả nhất quán.
Chọn Trích xuất (Tuần từ Timestamp '2001-02-16 20:38:40');Kết quả:7
năm
Trường năm. Hãy nhớ rằng không có0 AD
, quá trừBC
năm từAD
Năm nên được thực hiện một cách cẩn thận.
Chọn trích xuất (năm từ Timestamp '2001-02-16 20:38:40');Kết quả:2001
Khi giá trị đầu vào là +/- Infinity,Trích xuất
Trả về +/- Infinity cho các trường tăng đơn điệu (Epoch
,Julian
,năm
,ISOYEAR
,Decade
,Century
vàThiên niên kỷ
). Đối với các trường khác, null được trả về.PostgreSQLPhiên bản trước 9.6 đã trả về 0 cho tất cả các trường hợp đầu vào vô hạn.
TheTrích xuất
Hàm chủ yếu nhằm mục đích xử lý tính toán. Để định dạng giá trị kèo bóng đá pháp/thời gian để hiển thị, xemPhần 9.8.
Thedate_part
Hàm được mô hình hóa trên truyền thốngingrestương đương vớiSQL-Standard Chức năngTrích xuất
:
date_part ('trường
',Nguồn
)
Lưu ý rằng ở đâytrường
Tham số cần phải là một giá trị chuỗi, không phải là một tên. Tên trường hợp lệ chodate_part
giống như đối vớiTrích xuất
.
Chọn Date_Part ('Day', Timestamp '2001-02-16 20:38:40');Kết quả:16
Chọn Date_Part ('Giờ', Khoảng '4 giờ 3 phút');Kết quả:4
date_trunc
hàmdate_trunc
về mặt khái niệm tương tự nhưTrunc
hàm cho số.
date_trunc (trường
,Nguồn
[,Time_Zone
])
Nguồn
là biểu thức giá trị của loạiTimestamp
,dấu kèo bóng đá pháp với múi giờ
hoặcKhoảng
. (Giá trị loạikèo bóng đá pháp
vàkèo bóng đá pháp
được đúc tự động đếnDấu kèo bóng đá pháp
hoặcKhoảng
, tương ứng.)trường
Chọn chính xác để cắt giảm giá trị đầu vào. Giá trị trả về tương tự như loạiTimestamp
,dấu kèo bóng đá pháp với múi giờ
hoặcKhoảng
, và nó có tất cả các trường ít quan trọng hơn một trường được chọn thành 0 (hoặc một, cho kèo bóng đá pháp và tháng).
Giá trị hợp lệ chotrường
là:
micro giây |
Milliseconds |
thứ hai |
phút |
giờ |
kèo bóng đá pháp |
tuần |
tháng |
quý |
năm |
Decade |
Century |
Thiên niên kỷ |
Khi giá trị đầu vào thuộc loạidấu kèo bóng đá pháp với múi giờ
, cắt ngắn được thực hiện liên quan đến một múi giờ cụ thể; Ví dụ: cắt ngắn thànhkèo bóng đá pháp
tạo ra một giá trị là nửa đêm trong khu vực đó. Theo mặc định, việc cắt ngắn được thực hiện đối với hiện tạitimezoneCài đặt, nhưng tùy chọnTime_Zone
Đối số có thể được cung cấp để chỉ định một múi giờ khác. Tên múi giờ có thể được chỉ định theo bất kỳ cách nào được mô tả trongPhần 8.5.3.
Múi giờ không thể được chỉ định khi xử lýdấu kèo bóng đá pháp không có múi giờ
hoặcKhoảng
Đầu vào. Chúng luôn được lấy theo mệnh giá.
ví dụ (giả sử múi giờ địa phương làAmerica/new_york
):
67583_67646Kết quả:2001-02-16 20:00:00
67775_67839Kết quả:2001-01-01 00:00:00
Chọn DATE_TRUNC ('kèo bóng đá pháp', dấu thời gian với múi giờ '2001-02-16 20: 38: 40+00');Kết quả:2001-02-16 00:00:00-05
68181_68282Kết quả:2001-02-16 08:00:00-05
Chọn DATE_TRUNC ('Giờ', Khoảng '3 kèo bóng đá pháp 02:47:33');Kết quả:3 kèo bóng đá pháp 02:00:00
Tại múi giờ
TheTại múi giờ
Chuyển đổi kèo bóng đá phápKhông có múi giờđến/từ kèo bóng đá phápvới múi giờvàkèo bóng đá phápGiá trị cho các múi giờ khác nhau.Bảng 9.32Hiển thị các biến thể của nó.
Bảng 9.32.Tại múi giờ
Biến thể
Biểu thức | Loại trả lại | Mô tả |
---|---|---|
|
dấu kèo bóng đá pháp với múi giờ |
Điều trị tem kèo bóng đá phápKhông có múi giờnhư nằm trong múi giờ được chỉ định |
|
dấu kèo bóng đá pháp không có múi giờ |
Chuyển đổi tem kèo bóng đá pháp đã chovới múi giờđến múi giờ mới, không có chỉ định múi giờ |
|
kèo bóng đá pháp với múi giờ |
Chuyển đổi kèo bóng đá pháp đã chovới múi giờđến múi giờ mới |
Trong các biểu thức này, múi giờ mong muốnkhu vực
Có thể được chỉ định dưới dạng chuỗi văn bản (ví dụ:'America/los_angele'
) hoặc như một khoảng kèo bóng đá pháp (ví dụ:Interval '-08: 00'
). Trong trường hợp văn bản, tên múi giờ có thể được chỉ định theo bất kỳ cách nào được mô tả trongPhần 8.5.3.
Ví dụ (giả sử múi giờ địa phương làAmerica/los_angele
):
Chọn dấu kèo bóng đá pháp '2001-02-16 20:38:40' tại múi giờ 'Mỹ/Denver';Kết quả:2001-02-16 19:38:40-08
Chọn dấu kèo bóng đá pháp với múi giờ '2001-02-16 20: 38: 40-05' tại múi giờ 'Mỹ/Denver';Kết quả:2001-02-16 18:38:40
Chọn dấu kèo bóng đá pháp '2001-02-16 20: 38: 40-05' tại múi giờ 'Châu Á/Tokyo' tại múi giờ 'Mỹ/Chicago';result:2001-02-16 05:38:40
Ví dụ đầu tiên thêm múi giờ vào một giá trị thiếu nó và hiển thị giá trị bằng cách sử dụng hiện tạitimezone
Cài đặt. Ví dụ thứ hai chuyển tem kèo bóng đá pháp với giá trị múi giờ sang múi giờ được chỉ định và trả về giá trị mà không có múi giờ.timezone
Cài đặt. Ví dụ thứ ba chuyển đổi kèo bóng đá pháp Tokyo sang kèo bóng đá pháp ở Chicago.kèo bóng đá phápCác giá trị cho các múi giờ khác sử dụng các quy tắc múi giờ hiện đang hoạt động vì không có kèo bóng đá pháp nào được cung cấp.
hàm
tương đương với cấu trúc hình thành SQLtimezone
(khu vực
,Dấu kèo bóng đá pháp
)
.Timestamp
Tại múi giờZone
POSTGRESQLCung cấp một số hàm trả về các giá trị liên quan đến kèo bóng đá pháp và giờ hiện tại. Các hàm tiêu chuẩn SQL này đều có giá trị trả về dựa trên thời gian bắt đầu của giao dịch hiện tại:
current_datechính xác
)Precision
)Precision
)độ chính xác
)
current_time
vàcurrent_timestamp
Cung cấp các giá trị theo múi giờ;địa phương
vàLocalTimestamp
cung cấp các giá trị không có múi giờ.
current_time
,current_timestamp
,địa phương
vàLocalTimeStamp
có thể tùy chọn lấy tham số chính xác, điều này gây ra kết quả được làm tròn đến nhiều chữ số phân số trong trường giây. Không có tham số chính xác, kết quả được đưa ra cho độ chính xác đầy đủ.
Một số ví dụ:
Chọn current_time;Kết quả:14:39:53.662522-05
Chọn current_date;Kết quả:2001-12-23
Chọn current_timestamp;Kết quả:2001-12-23 14:39:53.662522-05
Chọn current_timestamp (2);Kết quả:2001-12-23 14:39:53.66-05
Chọn LocalTimeStamp;Kết quả:2001-12-23 14:39:53.662522
Vì các chức năng này trả về kèo bóng đá pháp bắt đầu của giao dịch hiện tại, giá trị của chúng không thay đổi trong giao dịch. Đây được coi là một tính năng: Mục đích là cho phép một giao dịch duy nhất có một khái niệm nhất quán vềhiện tạiKhănkèo bóng đá pháp, để nhiều sửa đổi trong cùng một giao dịch mang cùng kèo bóng đá pháp.
Các hệ thống cơ sở dữ liệu khác có thể thúc đẩy các giá trị này thường xuyên hơn.
POSTGRESQLcũng cung cấp các chức năng trả về kèo bóng đá pháp bắt đầu của câu lệnh hiện tại, cũng như kèo bóng đá pháp hiện tại thực tế tại thời điểm chức năng được gọi. Danh sách đầy đủ các chức năng kèo bóng đá pháp tiêu chuẩn không SQL là:
Giao dịch_timestamp ()
Giao dịch_timestamp ()
tương đương vớicurrent_timestamp
, nhưng được đặt tên để phản ánh rõ ràng những gì nó trả về.statement_timestamp ()
Trả về kèo bóng đá pháp bắt đầu của câu lệnh hiện tại (cụ thể hơn là kèo bóng đá pháp nhận thông báo lệnh mới nhất từ máy khách).statement_timestamp ()
vàGiao dịch_timestamp ()
Trả về cùng một giá trị trong lệnh đầu tiên của giao dịch, nhưng có thể khác nhau trong các lệnh tiếp theo.clock_timestamp ()
Trả về kèo bóng đá pháp hiện tại thực tế và do đó giá trị của nó thay đổi ngay cả trong một lệnh SQL.Timeofday ()
là một lịch sửPOSTGRESQLHàm. Giốngclock_timestamp ()
, nó trả về kèo bóng đá pháp hiện tại thực tế, nhưng theo định dạngText
chuỗi chứ không phảidấu kèo bóng đá pháp với múi giờ
Giá trị.bây giờ ()
là truyền thốngPostgreSQLtương đương vớiGiao dịch_timestamp ()
.
Tất cả các loại dữ liệu kèo bóng đá pháp/giờ cũng chấp nhận giá trị theo nghĩa đen đặc biệtBây giờ
Để chỉ định kèo bóng đá pháp và giờ hiện tại (một lần nữa, được hiểu là thời gian bắt đầu giao dịch). Do đó, ba phần sau đều trả về cùng một kết quả:
Chọn current_timestamp;
Không sử dụng biểu mẫu thứ ba khi chỉ định giá trị sẽ được đánh giá sau, ví dụ trong AMặc định
mệnh đề cho một cột bảng. Hệ thống sẽ chuyển đổiBây giờ
đến ATimestamp
Ngay sau khi hằng số được phân tích cú pháp, do đó khi cần giá trị mặc định, kèo bóng đá pháp tạo bảng sẽ được sử dụng! Hai biểu mẫu đầu tiên sẽ không được đánh giá cho đến khi giá trị mặc định được sử dụng, vì chúng là các cuộc gọi chức năng.Phần 8.5.1.4.)
Các chức năng sau đây có sẵn để trì hoãn việc thực thi quy trình máy chủ:
pg_s ngủ (giây
)Khoảng
)dấu kèo bóng đá pháp với múi giờ
)
pg_s ngủ
Làm cho quá trình của phiên hiện tại ngủ cho đếngiây
giây đã trôi qua.giây
là giá trị của loạiDouble Precision
, vì vậy có thể chỉ định độ trễ phân đoạn thứ hai.PG_SLEEP_FOR
là hàm tiện lợi cho kèo bóng đá pháp ngủ lớn hơn được chỉ định làKhoảng
.pg_sleep_until
là một hàm tiện lợi khi mong muốn kèo bóng đá pháp thức dậy cụ thể. Ví dụ:
chọn pg_s ngủ (1.5);
Độ phân giải hiệu quả của khoảng kèo bóng đá pháp ngủ là đặc trưng cho nền tảng; 0,01 giây là một giá trị chung.PG_SLEEP_UNTIL
không được đảm bảo sẽ thức dậy chính xác vào kèo bóng đá pháp điểm đã chỉ định, nhưng nó sẽ không thức dậy sớm hơn.
Đảm bảo rằng phiên của bạn không giữ nhiều khóa hơn mức cần thiết khi gọipg_s ngủ
hoặc các biến thể của nó. Nếu không, các phiên khác có thể phải chờ quá trình ngủ của bạn, làm chậm toàn bộ hệ thống.