Postgresql 9.3.25 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 9. Các chức năng và toán tử | Tiếp theo |
Bảng 9-28Hiển thị các chức năng có sẵn cho giá trị kèo bóng đá c1/thời gian Xử lý, với các chi tiết xuất hiện trong các tiểu mục sau.Bảng 9-27Minh họa các hành vi của số học cơ bản người vận hành (+, *,, vân vân.). Để biết các chức năng định dạng, tham khảoPhần 9.8. Bạn nên quen thuộc 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.
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 đá c1hoặcDấu kèo bóng đá c1Đầu vào 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ó kèo bóng đá c1 vùng. Đố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à*Các nhà khai thác đi vào các cặp giao hoán (ví dụ: cả hai 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 số đó đôi.
Bảng 9-27. 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 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' | Interval '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'-Khoảng kèo bóng đá c1 '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'-Dấu kèo bóng đá c1 '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-28. Chức năng kèo bóng đá c1/giờ
function | Return Type | Mô tả | Ví dụ | Kết quả |
---|---|---|---|---|
Age (Dấu kèo bóng đá c1, Dấu kèo bóng đá c1) |
Khoảng | 16697_16731"Biểu tượng"Kết quả sử dụng nhiều năm và tháng | Age (Timestamp '2001-04-10', dấu kèo bóng đá c1 '1957-06-13') | 43 năm 9 Mons 27 kèo bóng đá c1 |
Age (Dấu kèo bóng đá c1) |
Khoảng | Trừ từcurrent_date (tại
nửa đêm) |
Age (Timestamp '1957-06-13') | 43 năm 8 Mons 3 kèo bóng đá c1 |
clock_timestamp () |
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 | ||
current_date |
kèo bóng đá c1 | kèo bóng đá c1 hiện tại; nhìn thấyPhần 9.9.4 | ||
current_time |
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 | ||
current_timestamp |
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 | ||
date_part (Text, Dấu kèo bóng đá c1) |
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 |
date_part (Text, Khoảng) |
độ chính xác gấp đôi | 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 |
date_trunc (Text, Dấu kèo bóng đá c1) |
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 |
Trích xuất (trườngtừDấu kèo bóng đá c1) |
độ chính xác gấp đôi | 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 |
Trích xuất (trườngtừ20490_20500) |
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 |
isfinite (kèo bóng đá c1) |
Boolean | Kiểm tra kèo bóng đá c1 hữu hạn (không phải +/- vô cực) | 21012_21041 | TRUE |
isfinite (Dấu kèo bóng đá c1) |
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 |
isfinite (Khoảng) |
Boolean | Kiểm tra khoảng kèo bóng đá c1 hữu hạn | isfinite (khoảng '4 giờ') | TRUE |
Justify_days (Khoảng) |
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 |
Justify_Hours (Khoảng) |
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 |
Justify_interval (Khoảng) |
Khoảng | Điều chỉnh khoảng kèo bóng đá c1 sử dụngJustify_Days vàJustify_Hours , với dấu hiệu bổ sung
Điều chỉnh |
giờ') | 29 kèo bóng đá c1 23:00:00 |
địa phương |
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 | ||
LocalTimeStamp |
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 | ||
bây giờ () |
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 | ||
statement_timestamp () |
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 tuyên bố hiện tại); nhìn thấyPhần 9.9.4 | ||
Timeofday () |
Text | kèo bóng đá c1 và giờ hiện tại (nhưclock_timestamp , nhưng dưới dạngTextchuỗi); nhìn thấyPhần
9.9.4 |
||
Giao dịch_timestamp () |
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 |
Ngoài các chức năng này, SQLchồng chéoNhà đ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 điểm cuối của chúng) chồng chéo, sai khi chúng không chồng chéo. Các Điểm cuối có thể được chỉ định là cặp kèo bóng đá c1, thời gian hoặc thời gian tem; 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 đầu tiên;chồng chéo25678_25812Bắt đầu <= kèo bóng đá c1 < kết thúc, trừ khiBắt đầuvàkết thúcbằng nhau trong trường hợp nó đại diện cho kèo bóng đá c1 đơn lẻ đó. Điều này có nghĩa là ví dụ rằng 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');Kết quả:true26434_26541Kết quả:SaiChọ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ả:26790_26797Chọ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ảng27039_27070Khoảng27098_27115dấu kèo bóng đá c1 với múi giờGiá trị, kèo bóng đá c1 các tiến bộ thành phần (hoặc giảm) kèo bóng đá c1 củadấu kèo bóng đá c1 với múi giờTheo số lượng được chỉ định của kèo bóng đá c1. Trong thời gian tiết kiệm ánh sáng ban kèo bóng đá c1 thay đổi (với thời gian phiên Vùng đượ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ànhCST7CDT, dấu thời gian với múi giờ '2005-04-02 12: 00-07' + khoảng '1 kèo bóng đá c1'sẽ sản xuấtdấu kèo bóng đá c1 Với múi giờ '2005-04-03 12: 00-06', trong khi thêmKhoảng '24 giờ 'với cùng một ban đầudấu kèo bóng đá c1 với múi giờsản xuấtdấu kèo bóng đá c1 với múi giờ '2005-04-03 13: 00-06', như Có một sự thay đổi về thời gian tiết kiệm ánh sáng ban kèo bóng đá c1 tại2005-04-03 02:00Trong múi giờCST7CDT.
Lưu ý Có thể có sự mơ hồ trongthá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 kể từ trước đó của hai kèo bóng đá c1 khi tính toán một phần
tháng. Ví dụ,tuổi ('2004-06-01',
'2004-04-30')Sử dụng tháng 4 để mang lại1 Thứ Hai 1
kèo bóng đá c1, trong khi sử dụng có thể sẽ mang lại1 Thứ Hai 2
kèo bóng đá c1Vì có thể có 31 kèo bóng đá c1, trong khi tháng Tư chỉ có 30.
Trích xuất
, date_part
Trích xuất (trườngtừ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ồnphải là biểu thức giá trị của loạiTimestamp, kèo bóng đá c1hoặcKhoảng. (Biểu thức của loạikèo bóng đá c1được đúc thànhDấu kèo bóng đá c1và
do đó cũng có thể được sử dụng.)trườnglà một mã đị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. Những điều sau đây là hợp lệ
Tên trường:
29817_29830
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ả:20Chọn trích xuất (thế kỷ từ Timestamp '2001-02-16 20:38:40');Kết quả:21
Thế kỷ đầu tiên 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 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.
PostgreSQL30521_30648
choDấu kèo bóng đá c1Giá trị, kèo bóng đá c1 (của tháng) trường (1 - 31); vìKhoảngGiá trị, số kèo bóng đá c1
Chọn trích xuất (kèo bóng đá c1 từ Timestamp '2001-02-16 20:38:40');Kết quả:16Chọ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
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
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 của
Việc đánh số tuần khác vớito_char (..., 'd')
chức năng.
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
chodấu kèo bóng đá c1 với múi giờGiá trị, The số giây kể từ 1970-01-01 00:00:00 UTC (có thể là âm); vìkèo bóng đá c1vàTimestampGiá trị, số giây kể từ 1970-01-01 00:00:00 giờ địa phương; vìKhoảngGiá trị, tổng số của 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.12Chọn trích xuất (kỷ nguyên từ khoảng '5 kèo bóng đá c1 3 giờ');Kết quả:442800
Đây là cách bạn có thể chuyển đổi giá trị kỷ nguyên trở lại kèo bóng đá c1 con tem:
Chọn dấu kèo bóng đá c1 với múi giờ 'Epoch' + 982384720.12 * Interval '1 giây';
(Theto_timestamp
Hàm
Đóng gói chuyển đổi ở trên.)
Trường giờ (0 - 23)
Chọn Trích xuất (giờ từ Timestamp '2001-02-16 20:38:40');Kết quả:20
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ớiDowngoại trừ Chủ nhật. Điều này phù hợp vớiISO8601 kèo bóng đá c1 trong tuần.
TheISO8601 đánh số tuần Năm 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ả:2005Chọn Trích xuất (Isoyear từ kèo bóng đá c1 '2006-01-02');Kết quả:2006
mỗiISO8601 đánh số tuần Năm bắt đầu với thứ Hai trong tuần có chứa thứ 4 Tháng một, vì vậy vào đầu tháng 1 hoặc cuối tháng 12ISONăm có thể khác với Gregorian năm. XemTuầnTrườ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 khi 8.3.
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ỷ
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 là trong thiên niên kỷ thứ hai. Thứ ba Thiên niên kỷ bắt đầu từ kèo bóng đá c1 1 tháng 1 năm 2001.
PostgreSQL35492_35620
Trường thứ hai, bao gồm các bộ 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
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
choDấu kèo bóng đá c1Giá trị, số lượng của tháng trong năm (1 - 12); vìKhoảngGiá trị, số tháng, modulo 12 (0 - 11)
Chọn Trích xuất (tháng từ Timestamp '2001-02-16 20:38:40');Kết quả:2Chọn trích xuất (tháng từ khoảng '2 năm 3 tháng');Kết quả:3Chọn trích xuất (tháng từ khoảng '2 năm 13 tháng');Kết quả:1
quý của 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');result:1
Trường thứ hai, bao gồm các bộ phận phân số (0 - 59[1])
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ả:40Chọn Trích xuất (thứ hai theo kèo bóng đá c1 '17: 12: 28.5 ');Kết quả:28.5
Múi giờ bù từ UTC, được đo bằng giây. Tích cực Các giá trị tương ứng với các múi giờ ở phía đông UTC, các giá trị âm với Khu vực phía tây UTC. (Về mặt kỹ thuật,POSTGRESQLsử dụngUT137954_37995
38060_38104
Thành phần phút của phần bù múi giờ
Số lượng củaISO8601 Tuần lễ số tuần trong năm. Theo định nghĩa, các tuần ISO bắt đầu 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 trong số đó 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 đó.
38551_387722005-01-01là một phần của tuần thứ 53 của năm 2004, Và2006-01-01là một phần của tuần thứ 52 của năm 2005, trong khi2012-12-31là một phần của Tuần đầu tiên của năm 2013. Nên sử dụngISOYEARtrườ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
Trường năm. Hãy nhớ rằng không có0 AD, Vì vậy, trừBCnăm từADNă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
TheTrích xuất
Hàm chủ yếu
dự định xử lý tính toán. Để định dạng kèo bóng đá c1/giờ
Giá trị để 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ườngTham số cần phải là một giá trị chuỗi, không phải là một tên. Trường hợp lệ
Tên chodate_part
40487_40510Trích xuất
.
Chọn Date_Part ('kèo bóng đá c1', Timestamp '2001/02-16 20:38:40');result:16Chọn Date_Part ('Giờ', Khoảng '4 giờ 3 phút');Kết quả:4
date_trunc
hàmdate_trunc
IS
về mặt khái niệm tương tự nhưTrunc
hàm cho số.
date_trunc ('trường',Nguồn)
Nguồnlà biểu thức giá trị của kiểuTimestamphoặcKhoảng. (Giá trị loạikèo bóng đá c1vàkèo bóng đá c1được đúc tự động đếnTimestamphoặcKhoảng,, tương ứng.)trườngChọn đến chính xác để cắt giảm giá trị đầu vào. Giá trị trả về là của kiểu41750_41761hoặcKhoảngVới tất cả các trường ít quan trọng hơn một bộ đượ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ườnglà:
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:0042897_4296142985_429952001-01-01 00:00:00
TheTại múi giờChuyển đổi kèo bóng đá c1Không có múi giờđến/từ tem kèo bóng đá c1theo kèo bóng đá c1 vùngvàkèo bóng đá c1giá trị cho các múi giờ khác nhau.Bảng 9-29Hiển thị các biến thể của nó.
Bảng 9-29.Tại múi giờBiến thể
Biểu thức | Return Type | Mô tả |
---|---|---|
Dấu kèo bóng đá c1 không có kèo bóng đá c1 vùngTại múi giờvùng | 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 theo kèo bóng đá c1 vùngTại múi giờvùng | 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ờTại múi giờkhu vực | kèo bóng đá c1 với múi giờ | Chuyển đổi kèo bóng đá c1 đã chotheo kèo bóng đá c1 vùng44917_44940 |
Trong các biểu thức này, múi giờ mong muốnkhu vựccó 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-08Chọ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:4045855_45959Kết quả: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ạitimezoneCài đặt. Ví dụ thứ hai thay đổi kèo bóng đá c1 đóng dấu với giá trị múi giờ vào múi giờ được chỉ định và trả về giá trị không có múi giờ. Điều này cho phép lưu trữ và hiển thị giá trị khác với hiện tạitimezoneCà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ị đến 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 kèo bóng đá c1 được cung cấp.
hàmtimezone
(khu vực,
46806_46817)tương đương với
Cấu trúc phù hợp SQLdấu kèo bóng đá c1Tại múi giờkhu vực.
POSTGRESQLcung cấp một số Các chức năng 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ó các giá trị trả về dựa trên sự khởi đầu thời gian 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ị theo múi giờ;địa phương
vàLocalTimestamp
cung cấp các giá trị không có kèo bóng đá c1
vùng.
current_time
, current_timestamp
, địa phương
vàLocalTimeStamp
có thể tùy ý lấy độ chính xác
tham số, gây ra kết quả được làm tròn cho nhiều
Các chữ số phân số trong trường giây. Không có độ chính xác
tham số, kết quả được cung cấp cho độ chính xác đầy đủ.
Một số ví dụ:
Chọn current_time;Kết quả:14:39:53.662522-05chọn current_date;Kết quả:2001-12-23Chọn current_timestamp;Kết quả:2001-12-23 14:39:53.662522-05Chọn current_timestamp (2);Kết quả:2001-12-23 14:39:53.66-05Chọn LocalTimeStamp;result: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 dòng điện Giao dịch, giá trị của họ 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 để có một khái niệm nhất quán về"Hiện tại"kèo bóng đá c1, để nhiều sửa đổi Trong cùng một giao dịch mang cùng thời điểm.
Lưu ý: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, như cũng như kèo bóng đá c1 hiện tại thực tế tại thời điểm chức năng là gọi điện. Danh sách đầy đủ các chức năng kèo bóng đá c1 không tiêu chuẩn không SQL là:
Giao dịch_timestamp () statement_timestamp () clock_timestamp () Timeofday () Hiện nay()
Giao dịch_timestamp ()
IS
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
tuyên bố 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 một giao dịch, nhưng có thể khác nhau trong
các lệnh tiếp theo.clock_timestamp ()
Trả về dòng điện thực tế
kèo bóng đá c1 và do đó, giá trị của nó thay đổi ngay cả trong một SQL
yêu cầu.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 là một định dạngTextChuỗi thay vì Adấu kèo bóng đá c1 với múi giờGiá trị.now ()
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 theo nghĩa đen đặc biệt giá trịBây giờĐể chỉ định kèo bóng đá c1 hiện tại và thời gian (một lần nữa, được hiểu là thời gian bắt đầu giao dịch). Vì vậy, sau ba lần 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ờ'; - Không chính xác để sử dụng với mặc định
Tip:Bạn không muốn sử dụng biểu mẫu thứ ba khi Chỉ định AMặc địnhmệnh đề trong khi tạo một cái bàn. Hệ thống sẽ chuyển đổiBây giờđến ATimestampNgay khi hằng số được phân tích cú pháp, Vì vậy, khi cần giá trị mặc định, kèo bóng đá c1 của bảng Sáng tạo sẽ được sử dụng! Hai hình thức đầ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 cho đến thời điểm của chèn hàng.
Hàm sau có sẵn để trì hoãn việc thực thi Quá trình máy chủ:
pg_s ngủ (giây)
pg_s ngủ
Làm cho dòng điện
Quy trình của phiên ngủ cho đến khigiâygiây đã trôi qua.giâylà giá trị của loạiđộ chính xác gấp đôi, vì vậy sự chậm trễ thứ hai có thể
chỉ định. Ví dụ:
Chọn PG_SLEEP (1.5);
Lưu ý:Độ phân giải hiệu quả của khoảng kèo bóng đá c1 ngủ là nền tảng cụ thể; 0,01 giây là một giá trị chung. Sự chậm 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 Trên các yếu tố như tải máy chủ.
cảnh báo |
Đảm bảo rằng phiên của bạn không giữ nhiều khóa hơn
cần thiết khi gọi |
[1] |
60 Nếu bước nhảy được thực hiện bởi hệ điều hành |