kèo bóng đá pháp 20 tháng 2 năm 2025:Postgresql 17.4, 16.8, 15.12, 14.17 và 13.20 được phát hành!
Phiên bản được hỗ trợ:hiện tại(17)16/15/14/13
Phiên bản phát triển: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

9.9.Chức năng kèo bóng đá pháp/giờ và toán tử#

Bảng 9.33Hiể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.32Minh 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 trongtimezoneVù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áphoặ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.+*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ênSố 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.32.Toán tử kèo bóng đá pháp/giờ

Nhà điều hành

Mô tả

Ví dụ

kèo bóng đá pháp + Số nguyênkèo bóng đá pháp

Thêm một số kèo bóng đá pháp vào một kèo bóng đá pháp

kèo bóng đá pháp '2001-09-28' + 72001-10-05

kèo bóng đá pháp + KhoảngDấu kèo bóng đá pháp

Thêm một khoảng vào kèo bóng đá pháp

kèo bóng đá pháp '2001-09-28' + khoảng '1 giờ'2001-09-28 01:00:00

kèo bóng đá pháp + kèo bóng đá phápDấu kèo bóng đá pháp

Thêm thời gian của kèo bóng đá pháp vào kèo bóng đá pháp

kèo bóng đá pháp '2001-09-28' + Thời gian '03: 00 '2001-09-28 03:00:00

Khoảng + IntervalKhoảng

Thêm khoảng kèo bóng đá pháp

Khoảng '1 kèo bóng đá pháp' + khoảng '1 giờ'1 kèo bóng đá pháp 01:00:00

Dấu kèo bóng đá pháp + KhoảngDấu kèo bóng đá pháp

Thêm một khoảng kèo bóng đá pháp vào dấu kèo bóng đá pháp

Timestamp '2001-09-28 01:00' + Interval '23 giờ '2001-09-29 00:00:00

kèo bóng đá pháp + Khoảngkèo bóng đá pháp

Thêm một khoảng kèo bóng đá pháp

kèo bóng đá pháp '01: 00 ' + Khoảng' 3 giờ '04:00:00

- KhoảngKhoảng

phủ định một khoảng

- khoảng '23 giờ '-23:00:00

kèo bóng đá pháp - kèo bóng đá phápSố nguyên

Trừ kèo bóng đá pháp, tạo ra số kèo bóng đá pháp trôi qua

kèo bóng đá pháp '2001-10-01'-kèo bóng đá pháp '2001-09-28'3

kèo bóng đá pháp - Số nguyênkèo bóng đá pháp

Trừ một số kèo bóng đá pháp kể từ kèo bóng đá pháp

kèo bóng đá pháp '2001-10-01'-72001-09-24

kèo bóng đá pháp - KhoảngDấu kèo bóng đá pháp

Trừ một khoảng thời gian từ kèo bóng đá pháp

kèo bóng đá pháp '2001-09-28'-Khoảng '1 giờ'2001-09-27 23:00:00

kèo bóng đá pháp - kèo bóng đá phápKhoảng

kèo bóng đá pháp trừ

kèo bóng đá pháp '05: 00 ' - kèo bóng đá pháp '03: 00'02:00:00

kèo bóng đá pháp - Khoảngkèo bóng đá pháp

Trừ một khoảng kèo bóng đá pháp từ thời

kèo bóng đá pháp '05: 00 ' - Khoảng' 2 giờ '03:00:00

Dấu kèo bóng đá pháp - Khoảngdấu kèo bóng đá pháp

Trừ một khoảng kèo bóng đá pháp từ dấu kèo bóng đá pháp

Timestamp '2001-09-28 23:00'-Interval '23 giờ '2001-09-28 00:00:00

Khoảng - KhoảngKhoảng

Khoảng kèo bóng đá pháp trừ

Khoảng '1 kèo bóng đá pháp' - Khoảng '1 giờ'1 kèo bóng đá pháp -01: 00: 00

Dấu kèo bóng đá pháp - Dấu kèo bóng đá phápInterval

Trừ dấu thời gian (chuyển đổi khoảng thời gian 24 giờ thành kèo bóng đá pháp, tương tự nhưJustify_Hours ())

Timestamp '2001-09-29 03:00'-Timestamp '2001-07-27 12:00'63 kèo bóng đá pháp 15:00:00

Khoảng * Double PrecisionKhoảng

Nhân một khoảng kèo bóng đá pháp với vô hướng

Khoảng '1 giây' * 90000:15:00

Khoảng '1 kèo bóng đá pháp' * 2121 kèo bóng đá pháp

Khoảng '1 giờ' * 3.503:30:00

Khoảng / Độ chính xác gấp đôiKhoảng

Chia một khoảng cho vô hướng

Khoảng '1 giờ' / 1.500:40:00


Bảng 9.33.Chức năng kèo bóng đá pháp/giờ

chức năng

Mô tả

Ví dụ (s)

Age(Dấu kèo bóng đá pháp,Dấu kèo bóng đá pháp) →Khoảng

Trừ đối số, tạo ra Abiểu tượngKết quả sử dụng nhiều năm và tháng, thay vì chỉ vài kèo bóng đá pháp

Age (Timestamp '2001-04-10', Timestamp '1957-06-13')43 năm 9 Mons 27 kèo bóng đá pháp

Age(Timestamp) →Interval

đối số trừ từcurrent_date(lúc nửa đêm)

Age (Timestamp '1957-06-13')62 năm 6 Mons 10 kèo bóng đá pháp

clock_timestamp() →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.5

clock_timestamp ()2019-12-23 14:39:53.662522-05

current_datekèo bóng đá pháp

kèo bóng đá pháp hiện tại; nhìn thấyPhần 9.9.5

current_date2019-12-23

current_timekè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.5

current_time14:39:53.662522-05

current_time(Số nguyên) →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, với độ chính xác hạn chế; nhìn thấyPhần 9.9.5

current_time (2)14:39:53.66-05

current_timestampdấ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.5

current_timestamp2019-12-23 14:39:53.662522-05

current_timestamp(Số nguyên) →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), với độ chính xác hạn chế; nhìn thấyPhần 9.9.5

current_timestamp (0)2019-12-23 14:39:53-05

date_add(dấu kèo bóng đá pháp với múi giờ,Khoảng[,Text]) →dấu kèo bóng đá pháp với múi giờ

ThêmKhoảngđến Adấu kèo bóng đá pháp với múi giờ, Thời gian tính toán trong kèo bóng đá pháp và các điều chỉnh sáng ban kèo bóng đá pháp theo múi giờ được đặt tên bởi đối số thứ ba hoặc hiện tại hiện tạitimezoneCài đặt nếu bị bỏ qua. Biểu mẫu có hai đối số tương đương vớidấu kèo bóng đá pháp với múi giờ + KhoảngNhà điều hành.

DATE_ADD ('2021-10-31 00: 00: 00+02' :: Timestampp2021-10-31 23: 00: 00+00

Date_Bin(Khoảng,Dấu kèo bóng đá pháp,Dấu kèo bóng đá pháp) →Dấu kèo bóng đá pháp

Đầu vào thùng vào khoảng kèo bóng đá pháp được chỉ định được căn chỉnh với nguồn gốc được chỉ định; nhìn thấyPhần 9.9.3

30763_308532001-02-16 20:35:00

Date_Part(Text,Dấu kèo bóng đá pháp) →Double Precision

Nhận trường con dấu kèo bóng đá pháp (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

date_part(Text,Khoảng) →Double Precision

Nhận trường con khoảng kèo bóng đá pháp (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_subtract(dấu kèo bóng đá pháp với múi giờ,Khoảng[,Text]) →dấu kèo bóng đá pháp với múi giờ

Trừ mộtKhoảngtừ Adấu kèo bóng đá pháp với múi giờ, Thời gian tính toán trong kèo bóng đá pháp và các điều chỉnh sáng ban kèo bóng đá pháp theo múi giờ được đặt tên bởi đối số thứ ba hoặc hiện tạitimezoneCài đặt nếu bị bỏ qua. Biểu mẫu có hai đối số tương đương vớidấu kèo bóng đá pháp với múi giờ - Khoảngtoán tử.

33419_335092021-10-30 22: 00: 00+00

date_trunc(Text,Timestamp) →Dấu kèo bóng đá pháp

Cắt ngắn thành độ 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

date_trunc(Text,dấu kèo bóng đá pháp với múi giờ,Text) →dấu kèo bóng đá pháp với múi giờ

Cắt ngắn thành độ chính xác được chỉ định trong múi giờ được chỉ định; nhìn thấyPhần 9.9.2

34908_349852001-02-16 13: 00: 00+00

date_trunc(Text,Khoảng) →Khoảng

Cắt ngắn thành độ 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

Trích xuất(trường từ Dấu kèo bóng đá pháp) →Số

Nhận trường con dấu kèo bóng đá pháp; 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ường từ Khoảng) →Số

Nhận trường con khoảng kèo bóng đá pháp; 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

isfinite(kèo bóng đá pháp) →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

isfinite(Timestamp) →Boolean

Kiểm tra dấu kèo bóng đá pháp hữu hạn (không phải +/- infinity)

isfinite (Timestamp 'Infinity')Sai

isfinite(Khoảng) →Boolean

Kiểm tra khoảng kèo bóng đá pháp hữu hạn (hiện luôn luôn đúng)

isfinite (khoảng '4 giờ')​​TRUE

Justify_Days(Khoảng) →Khoảng

Điều chỉnh khoảng thời gian, chuyển thời gian 30 kèo bóng đá pháp thành tháng

Justify_days (khoảng '1 năm 65 kèo bóng đá pháp')1 năm 2 Mons 5 kèo bóng đá pháp

Justify_Hours(Interval) →Khoảng

Điều chỉnh khoảng thời gian, chuyển đổi khoảng thời gian 24 giờ thành kèo bóng đá pháp

Justify_Hours (khoảng '50 giờ 10 phút ')2 kèo bóng đá pháp 02:10:00

Justify_interval(Khoảng) →Khoảng

Điều chỉnh khoảng cách sử dụngJustify_DaysJustify_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

địa phươngkè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.5

địa phương14:39:53.662522

địa phương(Số nguyên) →kèo bóng đá pháp

Thời gian hiện tại trong kèo bóng đá pháp, với độ chính xác hạn chế; nhìn thấyPhần 9.9.5

địa phương (0)14:39:53

LocalTimestampDấu kèo bóng đá pháp

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.5

LocalTimeStamp2019-12-23 14:39:53.662522

LocalTimeStamp(Số nguyên) →Timestamp

kèo bóng đá pháp và giờ hiện tại (bắt đầu giao dịch hiện tại), với độ chính xác hạn chế; nhìn thấyPhần 9.9.5

LocalTimestamp (2)2019-12-23 14:39:53.66

make_date(năm int,tháng int,kèo bóng đá pháp int) →kèo bóng đá pháp

Tạo kèo bóng đá pháp từ các trường, tháng và kèo bóng đá pháp (năm âm biểu thị BC)

make_date (2013, 7, 15)2013-07-15

make_interval([năm int[,tháng int[,tuần int[,kèo bóng đá pháp int[,giờ int[,MINS int[,Secs độ chính xác gấp đôi]]]]]]]) →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, mỗi trường có thể mặc định là không

make_interval (kèo bóng đá pháp = 10)10 kèo bóng đá pháp

make_time(giờ int,min int,Sec độ chính xác gấp đôi) →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

make_timestamp(năm int,tháng int,kèo bóng đá pháp int,giờ int,min int,Sec Double Precision) →Timestamp

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 (năm âm biểu thị BC)

Make_Timestamp (2013, 7, 15, 8, 15, 23.5)2013-07-15 08:15:23.5

make_timestamptz(năm int,tháng int,kèo bóng đá pháp int,giờ int,min int,Sec Double Precision[,timezone Text]) →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ăm âm biểu thị BC). Nếu nhưtimezonekhông được chỉ định, múi giờ hiện tại được sử dụng; Các ví dụ giả sử múi giờ phiên làChâu Âu/London

make_timestamptz (2013, 7, 15, 8, 15, 23.5)2013-07-15 08: 15: 23.5+01

make_timestamptz (2013, 7, 15, 8, 15, 23.5, 'America/new_york')2013-07-15 13: 15: 23.5+01

Bây giờ() →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.5

bây giờ ()2019-12-23 14:39:53.662522-05

statement_timestamp() →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 tuyên bố hiện tại); nhìn thấyPhần 9.9.5

statement_timestamp ()2019-12-23 14:39:53.662522-05

Timeofday() →Text

kèo bóng đá pháp và giờ hiện tại (nhưclock_timestamp, nhưng dưới dạngTextchuỗi); nhìn thấyPhần 9.9.5

timeofday ()Thứ Hai 23 14: 39: 53.662522 2019 EST

Giao dịch_timestamp() →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.5

Giao dịch_timestamp ()2019-12-23 14:39:53.662522-05

to_timestamp(độ chính xác gấp đôi) →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 với múi giờ

TO_TIMESTAMP (1284352323)2010-09-13 04: 32: 03+00


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 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éoTự độ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 đầukết thúcbằ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') chồng chéoKết quả:TRUEChọ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ả:SaiChọn (kèo bóng đá pháp '2001-10-29', kèo bóng đá pháp '2001-10-30')Kết quả:falseChọ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ảngGiá trị thành (hoặc trừ mộtKhoảngGiá trị từ) ATimestamphoặcdấu kèo bóng đá pháp với múi giờGiá trị, tháng, kèo bóng đá pháp và trường micro giây củaKhoảngGiá trị được xử lý lần lượt. Đầu tiên, một tháng khác các tháng tiến bộ hoặc giảm kèo bóng đá pháp của dấu thời gian theo số tháng được chỉ định, giữ cho kèo bóng đá pháp trong tháng trừ khi nó sẽ qua cuối tháng mới, trong trường hợp đó, kèo bóng đá pháp cuối cùng của tháng đó được sử dụng.dấu kèo bóng đá pháp với múi giờGiá trị trong múi giờ nhận ra DST, điều này có nghĩa là thêm hoặc trừ (nói)Khoảng '1 kèo bóng đá pháp'Không nhất thiết phải có kết quả tương tự như thêm hoặc trừkhoảng kèo bóng đá pháp '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-06Chọ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 sự thay đổi về thời gian tiết kiệm ánh sáng ban kèo bóng đá pháp tại2005-04-03 02:00:00Trong múi giờMỹ/Denver.

Lưu ý Có thể có sự mơ hồ trongthángTrường được trả về bởiAgeVì các tháng khác nhau có số kèo bóng đá pháp khác nhau.PostgreSQLS cách 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 Thứ Hai 2 kèo bóng đá phápVì 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.-Nhà đ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. TheAgeHà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 cho 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.000000Chọn (Trích xuất (Epoch từ Timestampz '2013-07-01 12:00:00')-Kết quả:121.958333333333333358564_58645Kết quả:121 kèo bóng đá pháp 23:00:0058772_58857Kết quả:4 Mons

9.9.1.Trích xuất,date_part #

Trích xuất (trườngtừNguồn)

TheTrích xuấtHàm truy xuất các trường con như năm hoặc giờ kể từ kèo bóng đá pháp/giá trị thời gian.Nguồnphải là biểu thức giá trị của loạiDấu kèo bóng đá pháp,kèo bóng đá pháp,kèo bóng đá pháphoặcKhoảng. (kèo bóng đá pháp và kèo bóng đá pháp có thể có hoặc không có múi giờ.)trườnglà một định danh hoặc chuỗi chọn trường nào để trích xuất từ ​​giá trị nguồn. Không phải tất cả các trường đều hợp lệ cho mọi loại dữ liệu đầu vào;kèo bóng đá pháp, trong khi các trường của một kèo bóng đá pháp hoặc nhiều hơn không thể được trích xuất từ ​​Akèo bóng đá pháp. TheTrích xuấtHàm trả về các giá trị của loạiSố.

Sau đây là tên trường hợp lệ:

Century

Thế kỷ; vìKhoảngGiá trị, trường Năm chia cho 100

Chọn trích xuất (thế kỷ từ Timestamp '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ả:21Chọn trích xuất (thế kỷ từ kèo bóng đá pháp '0001-01-01 AD');Kết quả:1Chọn trích xuất (thế kỷ từ kèo bóng đá pháp '0001-12-31 bc');Kết quả:-1Chọn chiết xuất (thế kỷ từ khoảng '2001 năm');Kết quả:20
kèo bóng đá pháp

kèo bóng đá pháp trong tháng (1 Ném31); vìKhoảngGiá trị, số kèo bóng đá pháp

Chọn trích xuất (kèo bóng đá pháp từ Timestamp '2001-02-16 20:38:40');Kết quả:16Chọ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 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ấtkèo bóng đá pháp số trong tuần 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 Ném365/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ápTimestampGiá 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ảngGiá 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.120000Chọn Trích xuất (Epoch từ Timestamp '2001-02-16 20: 38: 40.12');Kết quả:982355920.120000Chọn trích xuất (kỷ nguyên từ khoảng '5 kèo bóng đá pháp 3 giờ');Kết quả:442800.000000

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áphoặcTimestampGiá 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 Ném23 trong dấu kèo bóng đá pháp, không giới hạn trong các khoảng kèo bóng đá pháp)

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ớiDowNgoạ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

Chọn trích xuất (Isoyear từ kèo bóng đá pháp '2006-01-01');Kết quả:2005Chọn trích xuất (Isoyear từ kèo bóng đá pháp '2006-01-02');Kết quả:2006

mỗiISO67164_67299ISONăm có thể khác với năm Gregorian. XemtuầnTrường để biết thêm thông tin.

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. 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ả:2453737Chọn trích xuất (Julian từ Timestamp '2006-01-01 12:00');Kết quả:2453737.50000000000000000000
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 (microseconds 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ỷ; vìKhoảngGiá trị, trường Năm chia cho 1000

Chọn Trích xuất (Thiên niên kỷ từ Timestamp '2001-02-16 20:38:40');Kết quả:3Chọn trích xuất (Thiên niên kỷ từ khoảng '2001 năm');result:2

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.000
phút

Trường số phút (0 Ném59)

Chọn Trích xuất (Phút từ Timestamp '2001-02-16 20:38:40');Kết quả:38
tháng

Số lượng của tháng trong năm (1 Ném12); vìIntervalGiá trị, số tháng của modulo 12 (0 Ném11)

Chọn trích xuất (tháng từ dấu kèo bóng đá pháp '2001-02-16 20:38:40');result:2Chọn Trích xuất (tháng từ khoảng '2 năm 3 tháng');result:3Chọn Trích xuất (tháng từ khoảng '2 năm 13 tháng');Kết quả:1
quý

quý của năm (1 Ném4) mà kèo bóng đá pháp ở

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 mọi giây phân số

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.000000Chọn Trích xuất (thứ hai theo kèo bóng đá pháp '17: 12: 28.5 ');result:28.500000
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 phần bù múi giờ

timezone_minute

Thành phần phút của phần bù múi giờ

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 số tuần ISO, có thể các kèo bóng đá pháp đầu tháng 1 có thể 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-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
năm

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');result:2001

Khi xử lýKhoảngGiá trị, TheTrích xuấtHàm tạo ra các giá trị trường phù hợp với giải thích được sử dụng bởi hàm đầu ra khoảng. Điều này có thể tạo ra kết quả đáng ngạc nhiên nếu một người bắt đầu với biểu diễn khoảng không quy định, ví dụ:

Chọn khoảng '80 phút ';Kết quả:01:20:00Chọn trích xuất (phút từ khoảng '80 phút ');Kết quả:20

Note

Khi giá trị đầu vào là +/- vô cực,Trích xuấtTrả về +/- Infinity cho các trường tăng đơn điệu (Epoch,Julian,năm,ISOYEAR,Decade,CenturyThiê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ấtHà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_partHà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ườngTham 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_partgiống như đối vớiTrích xuất. Vì lý do lịch sử,date_partHàm trả về các giá trị của loạiđộ chính xác gấp đôi. Điều này có thể dẫn đến mất độ chính xác trong một số ứng dụng nhất định.Trích xuấtđược khuyến nghị thay thế.

Chọn Date_Part ('Day', Timestamp '2001/02-16 20:38:40');Kết quả:16Chọn Date_Part ('Giờ', Khoảng '4 giờ 3 phút');Kết quả:4

9.9.2.date_trunc #

hàmdate_truncvề mặt khái niệm tương tự nhưTrunchàm cho số.

date_trunc (trường,Nguồn[,Time_Zone])

Nguồnlà 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ápkèo bóng đá phápđược đúc tự động đếnDấu kèo bóng đá pháp​​hoặcKhoảng, tương ứng.)trườngChọ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ườnglà:

Microseconds
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áptạ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):

81133_81196Kết quả:2001-02-16 20:00:00Chọn DATE_TRUNC ('Năm', Timestamp '2001-02-16 20:38:40');Kết quả:2001-01-01 00:00:00Chọ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-0581729_81829Kết quả:2001-02-16 08:00:00-05Chọ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

9.9.3.date_bin #

hàmdate_bin Binskèo bóng đá pháp đầu vào vào khoảng kèo bóng đá pháp được chỉ định (sải bước) được căn chỉnh với nguồn gốc được chỉ định.

date_bin (sải bước,Nguồn,Origin)

Nguồnlà một biểu thức giá trị của loạidấu kèo bóng đá pháphoặcdấu kèo bóng đá pháp với múi giờ. (Giá trị loạikèo bóng đá phápđược đúc tự động đếnDấu kèo bóng đá pháp.)sải bướclà biểu thức giá trị của loạiKhoảng. Giá trị trả về tương tự như loạiDấu kèo bóng đá pháphoặcdấu kèo bóng đá pháp với múi giờvà nó đánh dấu sự khởi đầu của thùng màNguồnđược đặt.

Ví dụ:

Chọn Date_Bin ('15 phút ', Timestamp' 2020-02-11 15:44:17 ', Timestamp' 2001-01-01 ');Kết quả:2020-02-11 15:30:0083866_83966Kết quả:2020-02-11 15:32:30

Trong trường hợp của các đơn vị đầy đủ (1 phút, 1 giờ, v.v.), nó cho kết quả tương tự như tương tựdate_trunccuộc gọi, nhưng sự khác biệt làDate_BinCó thể cắt ngắn thành một khoảng kèo bóng đá pháp tùy ý.

Thesải bướcKhoảng kèo bóng đá pháp phải lớn hơn 0 và không thể chứa các đơn vị tháng hoặc lớn hơn.

9.9.4.Tại múi giờ #

TheAt Time múi giờNhà điều hành chuyển đổi kèo bóng đá phápkhông cóMúi giờ đến/từ kèo bóng đá phápvớimúi giờ vàkèo bóng đá pháp với múi giờGiá trị cho các múi giờ khác nhau.Bảng 9.34Hiển thị các biến thể của nó.

Bảng 9.34.Tại múi giờBiến thể

Nhà điều hành

Mô tả

Ví dụ (s)

dấu kèo bóng đá pháp không có múi giờ Tại múi giờ khu vựcdấu kèo bóng đá pháp với múi giờ

Chuyển đổi kèo bóng đá pháp đã chokhôngmúi giờ đến tem kèo bóng đá phápvớiMúi giờ, giả sử giá trị đã cho ở trong múi giờ được đặt tên.

Timestamp '2001-02-16 20:38:40' tại múi giờ 'Mỹ/Denver'2001-02-17 03: 38: 40+00

dấu kèo bóng đá pháp với múi giờ Tại múi giờ khu vựcdấu kèo bóng đá pháp không có múi giờ

Chuyển đổi kèo bóng đá pháp đã chovớimúi giờ đến tem kèo bóng đá phápkhôngMúi giờ, như kèo bóng đá pháp sẽ xuất hiện trong khu vực đó.

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'2001-02-16 18:38:40

kèo bóng đá pháp với múi giờ Tại múi giờ khu vựckèo bóng đá pháp với múi giờ

Chuyển đổi kèo bóng đá pháp đã chovớiMúi giờ đến múi giờ mới. Vì không có kèo bóng đá pháp nào được cung cấp, điều này sử dụng bù UTC hiện đang hoạt động cho vùng đích được đặt tên.

kèo bóng đá pháp với múi giờ '05: 34: 17-05 'tại múi giờ' UTC '10: 34: 17+00


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 giá trị văn bản (ví dụ:'America/los_angele') hoặc như một khoảng kèo bóng đá pháp (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. Trường hợp khoảng kèo bóng đá pháp chỉ hữu ích cho các khu vực có lỗi cố định từ UTC, vì vậy nó không phổ biến trong thực tế.

ví dụ (giả sử hiện tạitimezoneCài đặt 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-08Chọ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:40Chọn dấu kèo bóng đá pháp '2001-02-16 20:38:40' tại múi giờ 'Châu Á/Tokyo' tại múi giờ 'Mỹ/Chicago';Kế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 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ờ.timezoneCài đặt. Ví dụ thứ ba chuyển đổi kèo bóng đá pháp Tokyo sang kèo bóng đá pháp Chicago.

hàmtimezone(khu vực,Timestamp)tương đương với cấu trúc hình thành SQLTimestampTại múi giờkhu vực.

9.9.5.kèo bóng đá pháp/giờ hiện tại#

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à thời gian 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_datePrecision)chính xác)Precision)chính xác)

current_timecurrent_timestampcung cấp các giá trị theo múi giờ;địa phươngLocalTimestampCung cấp các giá trị không có múi giờ.

current_time,current_timestamp,địa phươngLocalTimeStampcó thể tùy ý lấy một 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 hiện tại_time;Kết quả:14:39:53.662522-05chọn current_date;Kết quả:2019-12-23Chọn current_timestamp;Kết quả:2019-12-23 14:39:53.662522-05chọn current_timestamp (2);Kết quả:2019-12-23 14:39:53.66-05Chọn LocalTimeStamp;Kết quả:2019-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ạiHồikè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.

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 đá 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 ()là 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 ()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 duy nhất.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ạngTextChuỗ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;

TIP

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 địnhmệnh đề cho một cột bảng. Hệ thống sẽ chuyển đổiBây giờđến ATimestampNgay 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.)

9.9.6.Trì hoãn thực thi#

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ủ (Độ chính xác gấp đôi)Khoảng)dấu kèo bóng đá pháp với múi giờ)

pg_s ngủLàm cho quá trình phiên hiện tại ngủ cho đến khi số giây đã cho đã trôi qua. Có thể chỉ định độ trễ của phân số giây.PG_SLEEP_FORlà một hàm tiện lợi để cho phép kèo bóng đá pháp ngủ được chỉ định làKhoảng.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_SLEEP (1.5);

Lưu ý

Độ 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_UNTILkhô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.

cảnh báo

Đả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.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài liệu.