Bảng 9.30Hiển thị các chức năng có sẵn để xử lý giá trị kèo bóng đá c1/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,29Minh 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 đá c1/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 đá c1/giờ. kèo bóng đá c1 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. Khi so sánh dấu thời gian không có múi giờ với dấu thời gian với múi giờ, giá trị trước đây được giả định được đưa ra trong múi giờ được chỉ định bởitimezoneTham 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 đá c1 đượ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 đá c1.
Tất cả các chức năng kèo bóng đá c1 tử được mô tả bên dưới lấykèo bóng đá c1
hoặcDấu kèo bóng đá c1
Đầu kèo bóng đá c1o thực sự có hai biến thể: một biến thểkèo bóng đá c1 với múi giờ
hoặcdấu kèo bóng đá c1 với múi giờ
, và một cái màkèo bóng đá c1 không có múi giờ
hoặcdấu kèo bóng đá c1 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. Ngoài ra,+
và*
toán tử đi kèm theo các cặp giao hoán (ví dụ: cả kèo bóng đá c1 + số nguyên và số nguyên + kèo bóng đá c1); Chúng tôi chỉ hiển thị một trong mỗi cặp như vậy.
Bảng 9,29. Toán tử kèo bóng đá c1/giờ
Nhà điều hành | Ví dụ | result |
---|---|---|
+ |
kèo bóng đá c1 '2001-09-28' + Integer '7' |
kèo bóng đá c1 '2001-10-05' |
+ |
kèo bóng đá c1 '2001-09-28' + khoảng '1 giờ' |
Timestamp '2001-09-28 01:00:00' |
+ |
kèo bóng đá c1 '2001-09-28' + thời gian '03: 00 ' |
Timestamp '2001-09-28 03:00:00' |
+ |
Khoảng '1 kèo bóng đá c1' + khoảng '1 giờ' |
Khoảng '1 kèo bóng đá c1 01:00:00' |
+ |
Timestamp '2001-09-28 01:00' + Interval '23 giờ ' |
Timestamp '2001-09-29 00:00:00' |
+ |
kèo bóng đá c1 '01: 00 ' + Khoảng' 3 giờ ' |
kèo bóng đá c1 '04: 00: 00 ' |
- |
- khoảng '23 giờ ' |
Khoảng '-23: 00: 00' |
- |
kèo bóng đá c1 '2001-10-01'-kèo bóng đá c1 '2001-09-28' |
Integer '3' (kèo bóng đá c1) |
- |
kèo bóng đá c1 '2001-10-01'-Integer '7' |
kèo bóng đá c1 '2001-09-24' |
- |
kèo bóng đá c1 '2001-09-28'-khoảng '1 giờ' |
Timestamp '2001-09-27 23:00:00' |
- |
kèo bóng đá c1 '05: 00 ' - kèo bóng đá c1 '03: 00' |
Khoảng '02: 00: 00 ' |
- |
kèo bóng đá c1 '05: 00 ' - Khoảng' 2 giờ ' |
kèo bóng đá c1 '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 đá c1' - Khoảng '1 giờ' |
Khoảng '1 kèo bóng đá c1 -01: 00: 00' |
- |
Timestamp '2001-09-29 03:00'-Timestamp '2001-09-27 12:00' |
Khoảng '1 kèo bóng đá c1 15:00:00' |
* |
900 * Khoảng '1 giây' |
Khoảng '00: 15: 00 ' |
* |
21 * Khoảng '1 kèo bóng đá c1' |
Interval '21 Days ' |
* |
độ chính xác gấp đôi '3,5' * khoảng '1 giờ' |
Interval '03: 30: 00 ' |
/ |
Khoảng '1 giờ' / độ chính xác gấp đôi '1.5' |
Khoảng '00: 40: 00 ' |
Bảng 9.30. Chức năng kèo bóng đá c1/giờ
chức năng | Loại trả lại | Mô tả | Ví dụ | result |
---|---|---|---|---|
|
Khoảng |
đối số trừ, tạo ra mộtbiểu tượngKết quả sử dụng nhiều năm và tháng, thay vì chỉ vài kèo bóng đá c1 | Age (Timestamp '2001-04-10', Timestamp '1957-06-13') |
43 năm 9 Mons 27 kèo bóng đá c1 |
|
Khoảng |
Trừ từcurrent_date (lúc nửa đêm) |
Tuổi (Timestamp '1957-06-13') |
43 năm 8 Mons 3 kèo bóng đá c1 |
|
dấu kèo bóng đá c1 với múi giờ |
kèo bóng đá c1 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 đá c1 |
kèo bóng đá c1 hiện tại; nhìn thấyPhần 9.9.4 | ||
|
kèo bóng đá c1 với múi giờ |
Thời gian hiện tại trong kèo bóng đá c1; nhìn thấyPhần 9.9.4 | ||
|
dấu kèo bóng đá c1 với múi giờ |
kèo bóng đá c1 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 đá c1 '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 |
|
Dấu kèo bóng đá c1 |
Cắt ngắn để chính xác được chỉ định; Xem thêmPhần 9.9.2 | date_trunc ('giờ', dấu kèo bóng đá c1 '2001-02-16 20:38:40') |
2001-02-16 20:00:00 |
|
Khoảng |
Cắt ngắn để có độ chính xác được chỉ định; Xem thêmPhần 9.9.2 | date_trunc ('giờ', khoảng '2 kèo bóng đá c1 3 giờ 40 phút') |
2 kèo bóng đá c1 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 đá c1 '2 năm 3 tháng') |
3 |
|
Boolean |
Kiểm tra kèo bóng đá c1 hữu hạn (không phải +/- vô cực) | isfinite (kèo bóng đá c1 '2001-02-16') |
TRUE |
|
Boolean |
Kiểm tra tem kèo bóng đá c1 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 đá c1 hữu hạn | isfinite (khoảng '4 giờ') |
TRUE |
|
Khoảng |
Điều chỉnh khoảng thời gian 30 kèo bóng đá c1 được biểu diễn dưới dạng tháng | Justify_days (khoảng '35 kèo bóng đá c1 ') |
1 Mon 5 kèo bóng đá c1 |
|
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 đá c1 | Justify_Hours (khoảng '27 giờ ') |
1 kèo bóng đá c1 03:00:00 |
|
Khoảng |
Điều chỉnh khoảng kèo bóng đá c1 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 đá c1 23:00:00 |
|
kèo bóng đá c1 |
Thời gian hiện tại trong kèo bóng đá c1; nhìn thấyPhần 9.9.4 | ||
|
Dấu kèo bóng đá c1 |
kèo bóng đá c1 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 đá c1 |
Tạo kèo bóng đá c1 từ các trường, tháng và kèo bóng đá c1 | Make_date (2013, 7, 15) |
2013-07-15 |
|
Khoảng |
Tạo khoảng từ các năm, tháng, tuần, kèo bóng đá c1, giờ, phút và giây trường | make_interval (kèo bóng đá c1 = 10) |
10 kèo bóng đá c1 |
|
kèo bóng đá c1 |
Tạo kèo bóng đá c1 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 đá c1 |
Tạo dấu thời gian từ các trường năm, tháng, kèo bóng đá c1, 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 đá c1 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 đá c1, 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 đá c1 với múi giờ |
kèo bóng đá c1 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 đá c1 với múi giờ |
kèo bóng đá c1 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 đá c1 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 đá c1 với múi giờ |
kèo bóng đá c1 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 đá c1 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 đá c1 | 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 đá c1, thời gian hoặc tem thời gian; hoặc như một kèo bóng đá c1, thời gian hoặc tem thời gian theo sau là một khoảng thời gian. Khi một cặp giá trị được cung cấp, bắt đầu hoặc kết thúc có thể được viết trước;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 đá c1 được coi là đại diện cho khoảng kèo bóng đá c1 nửa mởBắt đầu
<=
kèo bóng đá c1
<
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 đá c1 đó ngay lập tức. Điều này có nghĩa là hai khoảng kèo bóng đá c1 chỉ có điểm cuối chung không trùng nhau.
Chọn (kèo bóng đá c1 '2001-02-16', kèo bóng đá c1 '2001-12-21') (kèo bóng đá c1 '2001-10-30', kèo bóng đá c1 '2002-10-30');result:TRUE
Chọn (kèo bóng đá c1 '2001-02-16', khoảng thời gian '100 kèo bóng đá c1') (kèo bóng đá c1 '2001-10-30', kèo bóng đá c1 '2002-10-30');Kết quả:false
Chọn (kèo bóng đá c1 '2001-10-29', kèo bóng đá c1 '2001-10-30') (kèo bóng đá c1 '2001-10-30', kèo bóng đá c1 '2001-10-31');Kết quả:Sai
Chọn (kèo bóng đá c1 '2001-10-30', kèo bóng đá c1 '2001-10-30') (kèo bóng đá c1 '2001-10-30', kèo bóng đá c1 '2001-10-31');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 đá c1 với múi giờ
Giá trị, thành phần kèo bóng đá c1 trước hoặc giảm kèo bóng đá c1dấu kèo bóng đá c1 với múi giờ
Theo số kèo bóng đá c1 được chỉ định, giữ thời gian trong kèo bóng đá c1 giống nhau. Trong thời gian tiết kiệm ánh sáng ban kèo bóng đá c1 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 đá c1'
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 đá c1';Kết quả:2005-04-03 12:00:00-06
Chọn dấu kèo bóng đá c1 với múi giờ '2005-04-02 12: 00: 00-07' + khoảng kèo bóng đá c1 '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 đá c1 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 đá c1 khác nhau.POSTGRESQLS tiếp cận sử dụng tháng từ trước đó của hai kèo bóng đá c1 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 đá c1
, trong khi sử dụng có thể sẽ mang lại1 Mon 2 kèo bóng đá c1
Vì có thể có 31 kèo bóng đá c1, trong khi tháng Tư chỉ có 30.
phép trừ kèo bóng đá c1 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 đá c1 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 đá c1. Phép trừ các giá trị kèo bóng đá c1 hoặc dấu thời gian vớiHồi-
Nhà điều hành trả về số kèo bóng đá c1 (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 đá c1 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. Các kết quả mẫu được tạo ra vớiTimeZone = 'US/East'
; Có sự thay đổi thời gian tiết kiệm ánh sáng ban kèo bóng đá c1 giữa hai kèo bóng đá c1 được sử dụng:
Chọn trích xuất (kỷ nguyên từ Timestampz '2013-07-01 12:00:00')- Trích xuất (kỷ nguyên từ Timestampz '2013-03-01 12:00:00');Kết quả:10537200
Chọn (Trích xuất (Epoch từ Timestampz '2013-07-01 12:00:00')- Trích xuất (kỷ nguyên từ Timestampz '2013-03-01 12:00:00'))) / 60 / 60/24;Kết quả:121.958333333333
41854_41935Kết quả:121 kèo bóng đá c1 23:00:00
42062_42147Kế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 lấy các trường con như năm hoặc giờ kể từ kèo bóng đá c1/giá trị thời gian.Nguồn
phải là biểu thức giá trị của loạiDấu kèo bóng đá c1
, kèo bóng đá c1
hoặcKhoảng
. (Biểu thức của loạikèo bóng đá c1
đượ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ạiĐộ chính xác gấp đôi
. 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 đá c1 '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 đó kèo bóng đá c1o thời điểm đó. Định nghĩa này áp dụng cho tất cả các quốc gia lịch Gregorian. Không có thế kỷ số 0, bạn đi từ -1 thế kỷ đến 1 thế kỷ. Nếu bạn không đồng ý với điều này, xin vui lòng viết khiếu nại của bạn cho: Giáo hoàng, Nhà thờ Saint-Peter của Roma, Vatican.
kèo bóng đá c1
choTimestamp
Giá trị, kèo bóng đá c1 (của tháng) (1 - 31); vìKhoảng
Giá trị, số kèo bóng đá c1
Chọn trích xuất (kèo bóng đá c1 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 đá c1 từ khoảng '40 kèo bóng đá c1 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 đá c1 '2001-02-16 20:38:40');Kết quả:200
Dow
kèo bóng đá c1 trong tuần là 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 đá c1 số trong tuần khác với kèo bóng đá c1to_char (..., 'd')
chức năng.
doy
kèo bóng đá c1 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 đá c1 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 đá c1 trước đó); vìkèo bóng đá c1
vàTimestamp
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 đá c1; 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 đá c1 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');result:982355920.12
Chọn trích xuất (kỷ nguyên từ khoảng '5 kèo bóng đá c1 3 giờ');Kết quả:442800
Bạn có thể chuyển đổi giá trị epoch trở lạidấu kèo bóng đá c1 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 đá c1
hoặcDấu kèo bóng đá c1
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 đá c1 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 đá c1 trong tuần.
ISOYEAR
TheISO8601 năm đánh số tuần mà kèo bóng đá c1 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 đá c1 '2006-01-01');Kết quả:2005
Chọn trích xuất (Isoyear từ kèo bóng đá c1 '2006-01-02');Kết quả:2006
mỗiISO49459_49594ISONă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 đá c1 JulianTương ứng với kèo bóng đá c1 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ố. Nhìn thấyPhần B.7Để biết thêm thông tin.
Chọn trích xuất (Julian từ kèo bóng đá c1 '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
microseconds
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 đá c1 '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');Kết quả: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 đá c1 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 đá c1 '17: 12: 28.5 ');Kết quả:28500
phút
Trường biên bản (0 - 59)
Chọn Trích xuất (Phút từ Timestamp '2001-02-16 20:38:40');Kết quả:38
tháng
choDấu kèo bóng đá c1
Giá trị, số của tháng trong năm (1 - 12); vìInterval
Giá trị, số tháng, modulo 12 (0 - 11)
Chọn trích xuất (tháng từ dấu kèo bóng đá c1 '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 đá c1 đó là
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 đá c1 '2001-02-16 20:38:40');Kết quả:40
Chọn Trích xuất (thứ hai theo kèo bóng đá c1 '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. (Về mặt kỹ thuật,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 đá c1 4 tháng 1 năm đó. Nói cách khác, thứ Năm đầu tiên của một năm là vào tuần 1 của năm đó.
Trong hệ thống đánh số tuần ISO, có thể các kèo bóng đá c1 sớm tháng 1 là một phần của tuần thứ 52 hoặc 53 của năm trước, và vào cuối tháng 12 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
, Vì vậy, 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 kèo bóng đá c1o là +/- vô cực,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 kèo bóng đá c1o 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 đá c1/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 hàmTrí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
)
Nguồn
là biểu thức giá trị của loạiTimestamp
hoặcKhoảng
. (Giá trị loạikèo bóng đá c1
vàkèo bóng đá c1
được đúc tự động đếnTimestamp
hoặcKhoảng
, tương ứng.)trường
Chọn chính xác để cắt giảm giá trị đầu kèo bóng đá c1o. Giá trị trả về loạiTimestamp
hoặcKhoảng
Với 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 đá c1 và tháng).
Giá trị hợp lệ chotrường
là:
microseconds |
Milliseconds |
thứ hai |
phút |
giờ |
kèo bóng đá c1 |
tuần |
tháng |
quý |
năm |
Decade |
Century |
Thiên niên kỷ |
ví dụ:
Chọn Date_Trunc ('Giờ', Timestamp '2001-02-16 20:38:40');Kết quả:2001-02-16 20:00:00
60452_60516Kết quả:2001-01-01 00:00:00
tại múi giờ
Thetại múi giờ
Chuyển đổi kèo bóng đá c1Không có múi giờđến/từ kèo bóng đá c1với múi giờvàkèo bóng đá c1Giá trị cho các múi giờ khác nhau.Bảng 9.31Hiển thị các biến thể của nó.
Bảng 9.31.tại múi giờ
Biến thể
Biểu thức | Return Type | Mô tả |
---|---|---|
|
dấu kèo bóng đá c1 với múi giờ |
Điều trị tem kèo bóng đá c1Không có múi giờnhư nằm trong múi giờ được chỉ định |
|
dấu kèo bóng đá c1 không có múi giờ |
Chuyển đổi tem kèo bóng đá c1 đã chovới múi giờđến múi giờ mới, không có chỉ định múi giờ |
|
kèo bóng đá c1 với múi giờ |
Chuyển đổi kèo bóng đá c1 đã 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 đá c1 (ví dụ:Khoảng '-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 đá c1 '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 đá c1 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 đá c1 '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ờ kèo bóng đá c1o 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 đá c1 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ờ. Điều này cho phép lưu trữ và hiển thị các giá trị khác với hiện tạitimezone
Cài đặt. Ví dụ thứ ba chuyển đổi kèo bóng đá c1 Tokyo sang kèo bóng đá c1 ở Chicago. Chuyển đổikèo bóng đá c1Giá trị cho các múi giờ khác sử dụng các quy tắc múi giờ hoạt động hiện tại vì không có kèo bóng đá c1 nào được cung cấp.
hàm
tương đương với cấu trúc hình thành SQLtimezone
(Zone
, Dấu kèo bóng đá c1
)
.dấu kèo bóng đá c1
Tại múi giờkhu vực
PostgreSQLCung cấp một số hàm trả về các giá trị liên quan đến kèo bóng đá c1 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_date Current_time Current_timestamp Current_time (chính xác
) Current_timestamp (Precision
) Địa phương LocalTimeStamp Địa phương (Precision
) LocalTimeStamp (độ chính xác
)
current_time
vàcurrent_timestamp
Cung cấp các giá trị với 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 ý 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 hiện tại_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 đá c1 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ạikèo bóng đá c1, để nhiều sửa đổi trong cùng một giao dịch mang cùng kèo bóng đá c1.
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 đá c1 bắt đầu của câu lệnh hiện tại, cũng như kèo bóng đá c1 hiện tại thực tế tại ngay lập tức chức năng được gọi. Danh sách đầy đủ các chức năng kèo bóng đá c1 tiêu chuẩn không SQL là:
Giao dịch_timestamp () statement_timestamp () clock_timestamp () Timeofday () Hiện nay()
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 đá c1 bắt đầu của câu lệnh hiện tại (cụ thể hơn là kèo bóng đá c1 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 đá c1 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 đá c1 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 đá c1 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 đá c1/giờ cũng chấp nhận giá trị theo nghĩa đen đặc biệtBây giờ
Để chỉ định kèo bóng đá c1 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; Chọn bây giờ (); Chọn dấu kèo bóng đá c1 'bây giờ'; - nhưng xem mẹo bên dưới
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 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 đá c1 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. Do đó, họ sẽ đưa ra hành vi mong muốn của việc mặc định đến thời điểm chèn hàng. (Xem thêmPhần 8.5.1.4.)
Các chức năng sau có sẵn để trì hoãn việc thực hiện quy trình máy chủ:
pg_s ngủ (giây
) pg_s ngủ_for (Interval
) pg_s ngủ_until (dấu kèo bóng đá c1 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ạiđộ chính xác gấp đôi
, 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 đá c1 ngủ lớn hơn được chỉ định làInterval
. pg_sleep_until
là một hàm tiện lợi khi mong muốn kèo bóng đá c1 thức dậy cụ thể. Ví dụ:
chọn pg_s ngủ (1.5); Chọn pg_sleep_for ('5 phút'); Chọn PG_SLEEP_UNTIL ('kèo bóng đá c1 mai 03:00');
Độ phân giải hiệu quả của khoảng thời gian ngủ là đặc trưng cho nền tảng; 0,01 giây là một giá trị chung. Độ trễ giấc ngủ sẽ ít nhất là miễn là quy định. Nó có thể dài hơn tùy thuộc kèo bóng đá c1o các yếu tố như tải máy chủ. Cụ thể,PG_SLEEP_UNTIL
không được đảm bảo sẽ thức dậy chính xác kèo bóng đá c1o thời đ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.