Bảng 9.33Hiển thị các chức năng có sẵn để xử lý giá trị kèo bóng đá hom nay/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 đá hom nay/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 đá hom nay/giờ. kèo bóng đá hom nay 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 đá hom nay đượ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 đá hom nay.
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 đá hom nay
hoặcDấu kèo bóng đá hom nay
Đầu vào thực sự có hai biến thể: một biến thểkèo bóng đá hom nay với múi giờ
hoặcdấu kèo bóng đá hom nay với múi giờ
, và một cái màkèo bóng đá hom nay không có múi giờ
hoặcdấu kèo bóng đá hom nay 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 đá hom nay
+
Số nguyên
vàSố nguyên
+
kèo bóng đá hom nay
); 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 đá hom nay/giờ
Nhà điều hành Mô tả Ví dụ |
---|
Thêm một số kèo bóng đá hom nay vào một kèo bóng đá hom nay
|
Thêm một khoảng vào kèo bóng đá hom nay
|
Thêm thời gian của kèo bóng đá hom nay vào kèo bóng đá hom nay
|
Thêm khoảng kèo bóng đá hom nay
|
Thêm một khoảng kèo bóng đá hom nay vào dấu kèo bóng đá hom nay
|
Thêm một khoảng kèo bóng đá hom nay
|
phủ nhận một khoảng
|
Trừ kèo bóng đá hom nay, tạo ra số kèo bóng đá hom nay trôi qua
|
Trừ một số kèo bóng đá hom nay kể từ kèo bóng đá hom nay
|
Trừ một khoảng thời gian từ kèo bóng đá hom nay
|
kèo bóng đá hom nay trừ
|
Trừ một khoảng kèo bóng đá hom nay từ thời
|
Trừ một khoảng kèo bóng đá hom nay từ dấu kèo bóng đá hom nay
|
Khoảng kèo bóng đá hom nay trừ
|
Thời gian trừ (chuyển đổi khoảng thời gian 24 giờ thành kèo bóng đá hom nay, tương tự như
|
Nhân một khoảng kèo bóng đá hom nay với vô hướng
|
Chia một khoảng cho vô hướng
|
Bảng 9.33.Chức năng kèo bóng đá hom nay/giờ
function Mô tả Ví dụ (s) |
---|
đối số trừ, tạo ra mộtMạnhbiểu tượngHồiKết quả sử dụng nhiều năm và tháng, thay vì chỉ vài kèo bóng đá hom nay
|
đối số trừ từ
|
kèo bóng đá hom nay 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
|
kèo bóng đá hom nay hiện tại; nhìn thấyPhần 9.9.5
|
Thời gian hiện tại trong kèo bóng đá hom nay; nhìn thấyPhần 9.9.5
|
Thời gian hiện tại trong kèo bóng đá hom nay, với độ chính xác hạn chế; nhìn thấyPhần 9.9.5
|
kèo bóng đá hom nay và giờ hiện tại (bắt đầu giao dịch hiện tại); nhìn thấyPhần 9.9.5
|
kèo bóng đá hom nay 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
|
Đầu vào thùng thành khoảng kèo bóng đá hom nay đượ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
|
Nhận trường con dấu kèo bóng đá hom nay (tương đương với
|
Nhận trường con khoảng kèo bóng đá hom nay (tương đương với
|
Cắt ngắn thành độ chính xác được chỉ định; nhìn thấyPhần 9.9.2
|
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
|
Cắt ngắn thành độ chính xác được chỉ định; nhìn thấyPhần 9.9.2
|
Nhận trường con dấu kèo bóng đá hom nay; nhìn thấyPhần 9.9.1
|
Nhận trường con khoảng kèo bóng đá hom nay; nhìn thấyPhần 9.9.1
|
Kiểm tra kèo bóng đá hom nay hữu hạn (không phải +/- vô cực)
|
Kiểm tra dấu kèo bóng đá hom nay hữu hạn (không phải +/- infinity)
|
Kiểm tra khoảng kèo bóng đá hom nay hữu hạn (hiện luôn luôn đúng)
|
Điều chỉnh khoảng thời gian, chuyển thời gian 30 kèo bóng đá hom nay thành thá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 đá hom nay
|
Điều chỉnh khoảng kèo bóng đá hom nay sử dụng
|
Thời gian hiện tại trong kèo bóng đá hom nay; nhìn thấyPhần 9.9.5
|
Thời gian hiện tại trong kèo bóng đá hom nay, với độ chính xác hạn chế; nhìn thấyPhần 9.9.5
|
kèo bóng đá hom nay và giờ hiện tại (bắt đầu giao dịch hiện tại); nhìn thấyPhần 9.9.5
|
kèo bóng đá hom nay 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
|
Tạo kèo bóng đá hom nay từ các trường, tháng và kèo bóng đá hom nay (năm âm biểu thị BC)
|
Tạo khoảng từ các năm, tháng, tuần, kèo bóng đá hom nay, giờ, phút và giây, mỗi trường có thể mặc định là không
|
Tạo kèo bóng đá hom nay từ giờ, phút và giây trường
|
Tạo dấu thời gian từ các trường năm, tháng, kèo bóng đá hom nay, giờ, phút và giây (năm âm biểu thị BC)
|
Tạo dấu thời gian với múi giờ từ năm, tháng, kèo bóng đá hom nay, giờ, phút và giây (năm âm biểu thị BC). Nếu như
|
kèo bóng đá hom nay và giờ hiện tại (bắt đầu giao dịch hiện tại); nhìn thấyPhần 9.9.5
|
kèo bóng đá hom nay và giờ hiện tại (bắt đầu câu lệnh hiện tại); nhìn thấyPhần 9.9.5
|
kèo bóng đá hom nay và giờ hiện tại (như
|
kèo bóng đá hom nay và giờ hiện tại (bắt đầu giao dịch hiện tại); nhìn thấyPhần 9.9.5
|
Chuyển đổi Epoch Unix (giây kể từ 1970-01-01 00: 00: 00+00) thành dấu kèo bóng đá hom nay với múi giờ
|
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 đá hom nay, 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 đá hom nay được coi là đại diện cho khoảng kèo bóng đá hom nay nửa mởBắt đầu
<=
kèo bóng đá hom nay
<
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 đá hom nay duy nhất đó ngay lập tức. Điều này có nghĩa là hai khoảng kèo bóng đá hom nay chỉ có điểm cuối chung không trùng nhau.
Chọn (kèo bóng đá hom nay '2001-02-16', kèo bóng đá hom nay '2001-12-21')Kết quả:TRUE
Chọn (kèo bóng đá hom nay '2001-02-16', khoảng thời gian '100 kèo bóng đá hom nay') chồng chéoKết quả:Sai
Chọn (kèo bóng đá hom nay '2001-10-29', kèo bóng đá hom nay '2001-10-30')Kết quả:false
Chọn (kèo bóng đá hom nay '2001-10-30', kèo bóng đá hom nay '2001-10-30') chồng chéoKết quả:TRUE
Khi thêm mộtKhoảng
Giá trị để (hoặc trừ mộtKhoảng
Giá trị từ) Adấu kèo bóng đá hom nay với múi giờ
Giá trị, các kèo bóng đá hom nay thành phần tiến bộ hoặc giảm kèo bóng đá hom nay củadấu kèo bóng đá hom nay với múi giờ
Theo số kèo bóng đá hom nay được chỉ định, giữ thời gian trong kèo bóng đá hom nay giống nhau. Trong thời gian tiết kiệm ánh sáng ban kèo bóng đá hom nay 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 đá hom nay'
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 đá hom nay';Kết quả:2005-04-03 12:00:00-06
Chọn dấu kèo bóng đá hom nay với múi giờ '2005-04-02 12: 00: 00-07' + khoảng kèo bóng đá hom nay '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 đá hom nay 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 đá hom nay khác nhau.PostgreSQLS tiếp cận sử dụng tháng từ trước đó của hai kèo bóng đá hom nay khi tính toán các tháng 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 đá hom nay
, trong khi sử dụng có thể sẽ mang lại1 Thứ Hai 2 kèo bóng đá hom nay
Vì có thể có 31 kèo bóng đá hom nay, trong khi tháng Tư chỉ có 30.
phép trừ kèo bóng đá hom nay 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 đá hom nay 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 đá hom nay.-
HàngNhà điều hành trả về số kèo bóng đá hom nay (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 đá hom nay 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 đá hom nay giữa hai kèo bóng đá hom nay đượ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.000000
Chọn (Trích xuất (Epoch từ Timestampz '2013-07-01 12:00:00')-Kết quả:121.9583333333333333
Chọn Timestampz '2013-07-01 12:00:00'-Timestampz '2013-03-01 12:00:00';result:121 kèo bóng đá hom nay 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ờ kể từ kèo bóng đá hom nay/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 đá hom nay
,kèo bóng đá hom nay
,kèo bóng đá hom nay
hoặcKhoảng
. (kèo bóng đá hom nay và kèo bóng đá hom nay có thể có hoặc không có múi giờ.)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. 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 đá hom nay
, trong khi các trường của một kèo bóng đá hom nay hoặc nhiều hơn không thể được trích xuất từ Akèo bóng đá hom nay
. TheTrích xuất
Hà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ảng
Giá trị, trường Năm chia cho 100
Chọn trích xuất (thế kỷ từ dấu kèo bóng đá hom nay '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
Chọn trích xuất (thế kỷ từ kèo bóng đá hom nay '0001-01-01 AD');Kết quả:1
Chọn trích xuất (thế kỷ từ kèo bóng đá hom nay '0001-12-31 bc');result:-1
Chọn trích xuất (thế kỷ từ khoảng '2001 năm');Kết quả:20
kèo bóng đá hom nay
kèo bóng đá hom nay trong tháng (1 Ném31); vìKhoảng
Giá trị, số kèo bóng đá hom nay
Chọn trích xuất (kèo bóng đá hom nay 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 đá hom nay từ khoảng '40 kèo bóng đá hom nay 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 đá hom nay '2001-02-16 20:38:40');Kết quả:200
Dow
kèo bóng đá hom nay 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 đá hom nay số trong tuần khác với kèo bóng đá hom nayto_char (..., 'd')
chức năng.
doy
kèo bóng đá hom nay 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 đá hom nay 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 đá hom nay trước đó); vìkèo bóng đá hom nay
vàdấu kèo bóng đá hom nay
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 đá hom nay; vìKhoảng
Giá trị, tổng số giây trong khoảng
Chọn Trích xuất (Epoch từ Timestamp với múi giờ '2001-02-16 20: 38: 40.12-08');Kết quả:982384720.120000
Chọn Trích xuất (Epoch từ Timestamp '2001-02-16 20: 38: 40.12');Kết quả:982355920.120000
Chọn trích xuất (kỷ nguyên từ khoảng '5 kèo bóng đá hom nay 3 giờ');Kết quả:442800.000000
Bạn có thể chuyển đổi giá trị kỷ nguyên trở lạidấu kèo bóng đá hom nay 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 đá hom nay
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 Ném23 trong dấu kèo bóng đá hom nay, không giới hạn trong các khoảng kèo bóng đá hom nay)
Chọn Trích xuất (giờ từ Timestamp '2001-02-16 20:38:40');Kết quả:20
isodow
kèo bóng đá hom nay 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 đá hom nay trong tuần.
Isoyear
TheISO8601 năm đánh số tuần mà kèo bóng đá hom nay rơi vào
Chọn Trích xuất (Isoyear từ kèo bóng đá hom nay '2006-01-01');result:2005
Chọn trích xuất (Isoyear từ kèo bóng đá hom nay '2006-01-02');Kết quả:2006
mỗiISO8601 Năm đánh dấu tuần bắt đầu với Thứ Hai của tuần có chứa kèo bóng đá hom nay 4 tháng 1, vì vậy vào đầu tháng 1 hoặc cuối tháng 12ISONăm có thể khác với năm Gregorian. Xemtuần
Trường để biết thêm thông tin.
Julian
Thekèo bóng đá hom nay Juliantương ứng với kèo bóng đá hom nay 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 đá hom nay '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.50000000000000000000
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 (microseconds từ kèo bóng đá hom nay '17: 12: 28.5 ');Kết quả:28500000
Thiên niên kỷ
Thiên niên kỷ; vìInterval
Giá 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ả:3
Chọn trích xuất (Thiên niên kỷ từ khoảng '2001 năm');Kết quả: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 đá hom nay 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 đá hom nay '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ìKhoảng
Giá 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 đá hom nay '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ý của năm (1 Ném4) kèo bóng đá hom nay đó 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 mọi giây phân số
Chọn trích xuất (thứ hai từ dấu kèo bóng đá hom nay '2001-02-16 20:38:40');Kết quả:40.000000
Chọn Trích xuất (thứ hai theo kèo bóng đá hom nay '17: 12: 28.5 ');Kết quả: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 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 đá hom nay 4 tháng 1 năm đó.
Trong hệ thống đánh số tuần ISO, có thể các kèo bóng đá hom nay 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');result: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');result:2001
Khi xử lýKhoảng
Giá trị, TheTrích xuất
Hà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 kèo bóng đá hom nay '80 phút ';Kết quả:01:20:00
Chọn trích xuất (phút từ khoảng '80 phút ');result:20
Khi giá trị đầu vào 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 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 đá hom nay/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
. Vì lý do lịch sử,date_part
Hàm trả về các giá trị của loạiDouble Precision
. Đ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ả:16
Chọn Date_Part ('Giờ', Khoảng '4 giờ 3 phút');result: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 đá hom nay với múi giờ
hoặcKhoảng
. (Giá trị loạikèo bóng đá hom nay
vàkèo bóng đá hom nay
đượ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 vào. Giá trị trả về tương tự như loạiTimestamp
,dấu kèo bóng đá hom nay với múi giờ
hoặcInterval
, 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 đá hom nay và tháng).
Giá trị hợp lệ chotrường
là:
micro giây |
Milliseconds |
thứ hai |
phút |
giờ |
kèo bóng đá hom nay |
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 đá hom nay 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 đá hom nay
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 đá hom nay 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
):
Chọn DATE_TRUNC ('Giờ', Timestamp '2001-02-16 20:38:40');Kết quả:2001-02-16 20:00:00
Chọn Date_Trunc ('Năm', Timestamp '2001-02-16 20:38:40');Kết quả:2001-01-01 00:00:00
Chọn DATE_TRUNC ('kèo bóng đá hom nay', 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
78486_78586Kết quả:2001-02-16 08:00:00-05
Chọn DATE_TRUNC ('Giờ', Khoảng '3 kèo bóng đá hom nay 02:47:33');Kết quả:3 kèo bóng đá hom nay 02:00:00
date_bin
hàmdate_bin
BinsHồikèo bóng đá hom nay đầu vào vào khoảng kèo bóng đá hom nay đượ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ồn
là biểu thức giá trị của loạiTimestamp
hoặcdấu kèo bóng đá hom nay với múi giờ
. (Giá trị loạikèo bóng đá hom nay
được đúc tự động đếnTimestamp
.)sải bước
là 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 đá hom nay
hoặcdấu kèo bóng đá hom nay 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:00
Chọn Date_Bin ('15 phút ', Timestamp' 2020-02-11 15:44:17 ', Timestamp' 2001-01-01 00:02:30 ');Kế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_trunc
cuộc gọi, nhưng sự khác biệt làDate_Bin
Có thể cắt ngắn thành một khoảng kèo bóng đá hom nay tùy ý.
Thesải bước
Khoảng kèo bóng đá hom nay 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.
Tại múi giờ
TheTại múi giờ
Người vận hành chuyển đổi kèo bóng đá hom naykhông cómúi giờ đến/từ kèo bóng đá hom nayvớimúi giờ vàkèo bóng đá hom nay 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) |
---|
Chuyển đổi kèo bóng đá hom nay đã chokhông cómúi giờ đến tem kèo bóng đá hom nayvớiMúi giờ, giả sử giá trị đã cho nằm trong múi giờ được đặt tên.
|
Chuyển đổi kèo bóng đá hom nay đã chovớimúi giờ đến tem kèo bóng đá hom naykhông cóMúi giờ, như kèo bóng đá hom nay sẽ xuất hiện trong khu vực đó.
|
Chuyển đổi kèo bóng đá hom nay đã chovớiMúi giờ đến múi giờ mới. Vì không có kèo bóng đá hom nay 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.
|
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 giá trị văn bản (ví dụ:'America/los_angele'
) hoặc dưới dạng khoảng (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 đá hom nay 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 đá hom nay '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 đá hom nay 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
86209_86309Kế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ạitimezone
Cài đặt. Ví dụ thứ hai chuyển tem kèo bóng đá hom nay 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 đá hom nay Tokyo sang kèo bóng đá hom nay Chicago.
hàm
tương đương với cấu trúc hình thành SQLtimezone
(khu vực
,Timestamp
)
.Dấu kèo bóng đá hom nay
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 đá hom nay 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_datechính xác
)chính xác
)độ chính xác
)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 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 đoạn trong trường Secracts. 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-05
Chọn current_date;Kết quả:2019-12-23
Chọn current_timestamp;Kết quả:2019-12-23 14:39:53.662522-05
Chọn current_timestamp (2);Kết quả:2019-12-23 14:39:53.66-05
Chọ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 đá hom nay 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 đá hom nay, để nhiều sửa đổi trong cùng một giao dịch có cùng kèo bóng đá hom nay.
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 đá hom nay bắt đầu của câu lệnh hiện tại, cũng như kèo bóng đá hom nay 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 đá hom nay 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 đá hom nay bắt đầu của câu lệnh hiện tại (cụ thể hơn là kèo bóng đá hom nay 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 đá hom nay 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 đá hom nay 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 đá hom nay 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 đá hom nay/giờ cũng chấp nhận giá trị theo nghĩa đen đặc biệtBây giờ
Để chỉ định kèo bóng đá hom nay 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 mộtmặc định
mệnh đề cho một cột bảng. Hệ thống sẽ chuyển đổiBây giờ
đến ADấu kèo bóng đá hom nay
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 đá hom nay 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ủ (Độ chính xác gấp đôi
)Khoảng
)dấu kèo bóng đá hom nay 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_FOR
là một hàm tiện lợi để cho phép kèo bóng đá hom nay ngủ đượ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 đá hom nay 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 đá hom nay 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 đá hom nay đ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.
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.