Bảng 9.33Hiển thị các chức năng có sẵn để xử lý giá trị soi kèo bóng đá truoctran/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 soi kèo bóng đá truoctran/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 soi kèo bóng đá truoctran/giờ. soi kèo bóng đá truoctran 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ị soi kèo bóng đá truoctran được giả định là đại diện cho nửa đêm trongtimezone
Vùng khi so sánh nó với dấu soi kèo bóng đá truoctran.
Tất cả các chức năng và toán tử được mô tả bên dưới lấysoi kèo bóng đá truoctran
hoặcDấu soi kèo bóng đá truoctran
Đầu vào thực sự có hai biến thể: một biến thểsoi kèo bóng đá truoctran với múi giờ
hoặcdấu soi kèo bóng đá truoctran với múi giờ
, và một cái màsoi kèo bóng đá truoctran không có múi giờ
hoặcdấu soi kèo bóng đá truoctran 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 nhà khai thác đi vào các cặp giao hoán (ví dụ: cả haisoi kèo bóng đá truoctran
+
Số nguyên
vàSố nguyên
+
soi kèo bóng đá truoctran
); 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ử soi kèo bóng đá truoctran/giờ
Nhà điều hành Mô tả Ví dụ |
---|
Thêm một số soi kèo bóng đá truoctran vào một soi kèo bóng đá truoctran
|
Thêm một khoảng vào soi kèo bóng đá truoctran
|
Thêm thời gian của soi kèo bóng đá truoctran vào soi kèo bóng đá truoctran
|
Thêm khoảng soi kèo bóng đá truoctran
|
Thêm một khoảng soi kèo bóng đá truoctran vào dấu soi kèo bóng đá truoctran
|
Thêm một khoảng soi kèo bóng đá truoctran
|
phủ nhận một khoảng
|
Trừ soi kèo bóng đá truoctran, tạo ra số soi kèo bóng đá truoctran trôi qua
|
Trừ một số soi kèo bóng đá truoctran kể từ soi kèo bóng đá truoctran
|
Trừ một khoảng thời gian từ soi kèo bóng đá truoctran
|
soi kèo bóng đá truoctran trừ
|
Trừ một khoảng soi kèo bóng đá truoctran từ thời
|
Trừ một khoảng soi kèo bóng đá truoctran từ dấu soi kèo bóng đá truoctran
|
Khoảng soi kèo bóng đá truoctran trừ
|
Trừ dấu thời gian (chuyển đổi khoảng thời gian 24 giờ thành soi kèo bóng đá truoctran, tương tự như
|
Nhân một khoảng với vô hướng
|
Chia một khoảng cho vô hướng
|
Bảng 9.33.Chức năng soi kèo bóng đá truoctran/giờ
function Mô tả Ví dụ (s) |
---|
Trừ đối số, tạo ra mộtVangBiểu tượngKết quả sử dụng nhiều năm và tháng, thay vì chỉ vài soi kèo bóng đá truoctran
|
đối số trừ từ
|
soi kèo bóng đá truoctran 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
|
soi kèo bóng đá truoctran hiện tại; nhìn thấyPhần 9.9.5
|
Thời gian hiện tại trong soi kèo bóng đá truoctran; nhìn thấyPhần 9.9.5
|
Thời gian hiện tại trong soi kèo bóng đá truoctran, với độ chính xác hạn chế; nhìn thấyPhần 9.9.5
|
soi kèo bóng đá truoctran và giờ hiện tại (bắt đầu giao dịch hiện tại); nhìn thấyPhần 9.9.5
|
soi kèo bóng đá truoctran 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
|
Thêm
|
Đầu vào thùng vào khoảng soi kèo bóng đá truoctran đượ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 soi kèo bóng đá truoctran (tương đương với
|
Nhận trường con khoảng soi kèo bóng đá truoctran (tương đương với
|
Trừ một
|
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 thành độ 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 soi kèo bóng đá truoctran; nhìn thấyPhần 9.9.1
|
Nhận trường con khoảng soi kèo bóng đá truoctran; nhìn thấyPhần 9.9.1
|
Kiểm tra soi kèo bóng đá truoctran hữu hạn (không phải +/- vô cực)
|
Kiểm tra dấu soi kèo bóng đá truoctran hữu hạn (không phải +/- infinity)
|
Kiểm tra khoảng soi kèo bóng đá truoctran hữu hạn (không phải +/- infinity)
|
Điều chỉnh khoảng thời gian, chuyển đổi khoảng thời gian 30 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran
|
Điều chỉnh khoảng cách sử dụng
|
Thời gian hiện tại trong soi kèo bóng đá truoctran; nhìn thấyPhần 9.9.5
|
Thời gian hiện tại trong soi kèo bóng đá truoctran, với độ chính xác hạn chế; nhìn thấyPhần 9.9.5
|
soi kèo bóng đá truoctran và giờ hiện tại (bắt đầu giao dịch hiện tại); nhìn thấyPhần 9.9.5
|
soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran từ các trường, tháng và soi kèo bóng đá truoctran (năm âm biểu thị BC)
|
Tạo khoảng từ các năm, tháng, tuần, soi kèo bóng đá truoctran, giờ, phút và giây, mỗi trường có thể mặc định là 0
|
Tạo soi kèo bóng đá truoctran 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, soi kèo bóng đá truoctran, 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, soi kèo bóng đá truoctran, giờ, phút và giây (năm âm biểu thị BC). Nếu như
|
soi kèo bóng đá truoctran và giờ hiện tại (bắt đầu giao dịch hiện tại); nhìn thấyPhần 9.9.5
|
soi kèo bóng đá truoctran 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
|
soi kèo bóng đá truoctran và giờ hiện tại (như
|
soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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 đ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 soi kèo bóng đá truoctran, 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 soi kèo bóng đá truoctran được coi là đại diện cho khoảng soi kèo bóng đá truoctran nửa mởBắt đầu
<=
soi kèo bóng đá truoctran
<
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 soi kèo bóng đá truoctran duy nhất đó ngay lập tức. Điều này có nghĩa là hai khoảng soi kèo bóng đá truoctran chỉ có điểm cuối chung không trùng nhau.
Chọn (soi kèo bóng đá truoctran '2001-02-16', soi kèo bóng đá truoctran '2001-12-21')Kết quả:TRUE
Chọn (soi kèo bóng đá truoctran '2001-02-16', khoảng thời gian '100 soi kèo bóng đá truoctran')Kết quả:Sai
Chọn (soi kèo bóng đá truoctran '2001-10-29', soi kèo bóng đá truoctran '2001-10-30')Kết quả:Sai
Chọn (soi kèo bóng đá truoctran '2001-10-30', soi kèo bóng đá truoctran '2001-10-30')Kết quả:TRUE
Khi thêmKhoảng
Giá trị để (hoặc trừ mộtKhoảng
Giá trị từ) ATimestamp
hoặcdấu soi kèo bóng đá truoctran với múi giờ
Giá trị, tháng, soi kèo bóng đá truoctran và trường micro giây củaInterval
Giá 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 soi kèo bóng đá truoctran của dấu thời gian theo số tháng được chỉ định, giữ cho soi kèo bóng đá truoctran trong tháng trừ khi nó sẽ qua cuối tháng mới, trong trường hợp đó, soi kèo bóng đá truoctran cuối cùng của tháng đó được sử dụng.dấu soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran'
Không nhất thiết phải có kết quả tương tự như thêm hoặc trừKhoả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 soi kèo bóng đá truoctran';Kết quả:2005-04-03 12:00:00-06
Chọn dấu soi kèo bóng đá truoctran với múi giờ '2005-04-02 12: 00: 00-07' + khoảng soi kèo bóng đá truoctran '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 soi kèo bóng đá truoctran 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ố soi kèo bóng đá truoctran khác nhau.PostgreSQLS tiếp cận sử dụng tháng từ trước đó của hai soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran
, trong khi sử dụng có thể sẽ mang lại1 Thứ Hai 2 soi kèo bóng đá truoctran
Vì có thể có 31 soi kèo bóng đá truoctran, trong khi tháng Tư chỉ có 30.
Phép trừ soi kèo bóng đá truoctran 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ố soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran.-
Nhà điều hành trả về số soi kèo bóng đá truoctran (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, soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran giữa hai soi kèo bóng đá truoctran đượ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';Kết quả:121 soi kèo bóng đá truoctran 23:00:00
58808_58893Kế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ừ soi kèo bóng đá truoctran/giá trị thời gian.Nguồn
phải là biểu thức giá trị của loạiTimestamp
,soi kèo bóng đá truoctran
,soi kèo bóng đá truoctran
hoặcKhoảng
. (soi kèo bóng đá truoctran và soi kèo bóng đá truoctran 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;soi kèo bóng đá truoctran
, trong khi các trường của một soi kèo bóng đá truoctran hoặc nhiều hơn không thể được trích xuất từ Asoi kèo bóng đá truoctran
. 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ừ Timestamp '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ừ soi kèo bóng đá truoctran '0001-01-01 AD');Kết quả:1
Chọn trích xuất (thế kỷ từ soi kèo bóng đá truoctran '0001-12-31 bc');Kết quả:-1
Chọn trích xuất (thế kỷ từ khoảng '2001 năm');Kết quả:20
soi kèo bóng đá truoctran
soi kèo bóng đá truoctran trong tháng (1 Ném31); vìKhoảng
Giá trị, số soi kèo bóng đá truoctran
Chọn trích xuất (soi kèo bóng đá truoctran từ Timestamp '2001-02-16 20:38:40');Kết quả:16
Chọn trích xuất (soi kèo bóng đá truoctran từ khoảng '40 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran '2001-02-16 20:38:40');Kết quả:200
Dow
soi kèo bóng đá truoctran 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
soi kèo bóng đá truoctran số trong tuần khác với soi kèo bóng đá truoctranto_char (..., 'd')
chức năng.
doy
soi kèo bóng đá truoctran trong năm (1 Ném365/366)
Chọn trích xuất (doy từ dấu soi kèo bóng đá truoctran '2001-02-16 20:38:40');Kết quả:47
Epoch
chodấu soi kèo bóng đá truoctran với múi giờ
Giá trị, số giây kể từ 1970-01-01 00:00:00 UTC (âm cho dấu soi kèo bóng đá truoctran trước đó); vìsoi kèo bóng đá truoctran
vàDấu soi kèo bóng đá truoctran
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 tiết kiệm ánh sáng ban soi kèo bóng đá truoctran; 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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 3 giờ');Kết quả:442800.000000
Bạn có thể chuyển đổi giá trị kỷ nguyên trở lạidấu soi kèo bóng đá truoctran 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ừ Asoi kèo bóng đá truoctran
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 soi kèo bóng đá truoctran, không giới hạn trong các khoảng soi kèo bóng đá truoctran)
Chọn Trích xuất (giờ từ Timestamp '2001-02-16 20:38:40');Kết quả:20
isodow
soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran trong tuần.
ISOYEAR
TheISO8601 năm đánh số tuần mà soi kèo bóng đá truoctran rơi vào
Chọn trích xuất (Isoyear từ soi kèo bóng đá truoctran '2006-01-01');Kết quả:2005
Chọn trích xuất (Isoyear từ soi kèo bóng đá truoctran '2006-01-02');Kết quả:2006
mỗiISO8601 năm đánh dấu tuần bắt đầu với Thứ Hai trong tuần có chứa soi kèo bóng đá truoctran 4 tháng 1, vì vậy vào đầu tháng 1 hoặc cuối tháng 12,ISONăm có thể khác với năm Gregorian. XemTuần
Trường để biết thêm thông tin.
Julian
Thesoi kèo bóng đá truoctran Juliantương ứng với soi kèo bóng đá truoctran 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ừ soi kèo bóng đá truoctran '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
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ừ soi kèo bóng đá truoctran '17: 12: 28.5 ');Kết quả:28500000
Thiên niên kỷ
Thiên niên kỷ; vìKhoảng
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ừ soi kèo bóng đá truoctran 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ừ soi kèo bóng đá truoctran '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 soi kèo bóng đá truoctran '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) mà soi kèo bóng đá truoctran ở
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 soi kèo bóng đá truoctran '2001-02-16 20:38:40');Kết quả:40.000000
Chọn Trích xuất (thứ hai theo soi kèo bóng đá truoctran '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 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 soi kèo bóng đá truoctran 4 tháng 1 năm đó.
Trong hệ thống đánh số tuần ISO, có thể các soi kèo bóng đá truoctran đầ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-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 xử lýKhoảng
Giá trị,Trí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 '80 phút ';Kết quả:01:20:00
Chọn trích xuất (phút từ khoảng '80 phút ');Kết quả: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ỷ
choTimestamp
Đầu vào;Epoch
,giờ
,soi kèo bóng đá truoctran
,năm
,Decade
,Century
vàThiên niên kỷ
choKhoảng
Đầu vào). Đố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ị soi kèo bóng đá truoctran/thời gian để hiển thị, xemPhần 9.8.
Thedate_part
Hàm được mô hình hóa trên truyền thốngingrestương đương vớiSQL-Standard Chức năngTrích xuất
:
date_part ('trường
',Nguồn
)
Lưu ý rằng ở đâyField
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ạ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ả:16
Chọn Date_Part ('Giờ', Khoảng '4 giờ 3 phút');Kết quả:4
date_trunc
#hàmdate_trunc
về mặt khái niệm tương tự nhưTrunc
hàm cho số.
date_trunc (trường
,Nguồn
[,Time_Zone
])
Nguồn
là biểu thức giá trị của loạiDấu soi kèo bóng đá truoctran
,dấu soi kèo bóng đá truoctran với múi giờ
hoặcKhoảng
. (Giá trị loạisoi kèo bóng đá truoctran
vàsoi kèo bóng đá truoctran
đượ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ạiDấu soi kèo bóng đá truoctran
,dấu soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran và tháng).
Giá trị hợp lệ chotrường
là:
Microseconds |
Milliseconds |
thứ hai |
phút |
giờ |
soi kèo bóng đá truoctran |
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 soi kèo bóng đá truoctran 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ànhsoi kèo bóng đá truoctran
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 soi kèo bóng đá truoctran không có múi giờ
hoặcInterval
Đầ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
81714_81777Kết quả:2001-01-01 00:00:00
81906_81986Kết quả:2001-02-16 00:00:00-05
Chọn DATE_TRUNC ('soi kèo bóng đá truoctran', dấu thời gian với múi giờ '2001-02-16 20: 38: 40+00', 'Úc/Sydney');Kết quả:2001-02-16 08:00:00-05
Chọn Date_Trunc ('Giờ', Khoảng '3 soi kèo bóng đá truoctran 02:47:33');Kết quả:3 soi kèo bóng đá truoctran 02:00:00
date_bin
#hàmdate_bin
BinsHồisoi kèo bóng đá truoctran đầu vào vào khoảng soi kèo bóng đá truoctran được chỉ định (sải chân) đượ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à một biểu thức giá trị của loạiTimestamp
hoặcdấu soi kèo bóng đá truoctran với múi giờ
. (Giá trị loạisoi kèo bóng đá truoctran
được đúc tự động đếnDấu soi kèo bóng đá truoctran
.)sải bước
là một biểu thức giá trị của loạiKhoảng
. Giá trị trả về tương tự như loạiTimestamp
hoặcdấu soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran tùy ý.
Thesải bước
Khoảng soi kèo bóng đá truoctran 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ờ và tại địa phương
#TheTại múi giờ
Nhà điều hành chuyển đổi soi kèo bóng đá truoctrankhông cómúi giờ đến/từ soi kèo bóng đá truoctranvớimúi giờ vàsoi kèo bóng đá truoctran 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ờ
vàtại địa phương
Biến thể
Nhà điều hành Mô tả Ví dụ (s) |
---|
Chuyển đổi soi kèo bóng đá truoctran đã chokhông cómúi giờ đến tem soi kèo bóng đá truoctranvớiMúi giờ, giả sử giá trị đã cho nằm trong múi giờ được đặt tên.
|
Chuyển đổi soi kèo bóng đá truoctran đã chokhôngmúi giờ đến tem soi kèo bóng đá truoctranvớiphiên của
|
Chuyển đổi soi kèo bóng đá truoctran đã chovớimúi giờ đến tem soi kèo bóng đá truoctrankhông cóMúi giờ, như soi kèo bóng đá truoctran sẽ xuất hiện trong khu vực đó.
|
Chuyển đổi soi kèo bóng đá truoctran đã chovớimúi giờ đến tem soi kèo bóng đá truoctrankhông cóMúi giờ, vì soi kèo bóng đá truoctran sẽ xuất hiện với phiên của phiên
|
Chuyển đổi soi kèo bóng đá truoctran đã chovớiMúi giờ đến múi giờ mới. Vì không có soi kèo bóng đá truoctran 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.
|
Chuyển đổi soi kèo bóng đá truoctran đã chovớiMúi giờ đến múi giờ mới. Vì không có soi kèo bóng đá truoctran nào được cung cấp, điều này sử dụng bù UTC hiện đang hoạt động cho phiên Giả sử phiê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 như một khoảng soi kèo bóng đá truoctran (ví dụ:Interval '-08: 00'
). Trong trường hợp văn bản, tên múi giờ có thể được chỉ định theo bất kỳ cách nào được mô tả trongPhần 8.5.3. Trường hợp khoảng soi kèo bóng đá truoctran 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ế.
Cú pháptại địa phương
có thể được sử dụng làm tốc ký choTại múi giờ
, trong đócục bộ
cục bộ
là phiên của phiêntimezone
Giá trị.
Ví dụ (giả sử hiện tạitimezoneCài đặt làAmerica/los_angele
):
Chọn dấu soi kèo bóng đá truoctran '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 soi kèo bóng đá truoctran 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
92636_92736Kết quả:2001-02-16 05:38:40
Chọn dấu soi kèo bóng đá truoctran với múi giờ '2001-02-16 20: 38: 40-05' tại địa phương;Kết quả:2001-02-16 17:38:40
Chọn soi kèo bóng đá truoctran với múi giờ '20: 38: 40-05 'tại địa phương;Kết quả:17:38:40
Ví dụ đầu tiên thêm múi giờ vào 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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran Tokyo sang soi kèo bóng đá truoctran ở Chicago.timezone
cài đặt và trả về giá trị mà không có múi giờ.
Ví dụ thứ năm là một câu chuyện cảnh báo. Do thực tế là không có soi kèo bóng đá truoctran liên quan đến giá trị đầu vào, việc chuyển đổi được thực hiện bằng soi kèo bóng đá truoctran hiện tại của phiên.'America/los_angele'
Quan sát thời gian tiết kiệm ánh sáng ban soi kèo bóng đá truoctran.
hàm
tương đương với cấu trúc hình thành SQLtimezone
(khu vực
,Timestamp
)
.Timestamp
Tại múi giờkhu vực
hàm
tương đương với cấu trúc hình thành SQLtimezone
(khu vực
,soi kèo bóng đá truoctran
)
.soi kèo bóng đá truoctran
Tại múi giờkhu vực
hàm
tương đương với cấu trúc hình thành SQLtimezone
(Timestamp
)
.Timestamp
tại địa phương
hàm
tương đương với cấu trúc hình thành SQLtimezone
(soi kèo bóng đá truoctran
)
.soi kèo bóng đá truoctran
tại địa phương
PostgreSQLCung cấp một số hàm trả về các giá trị liên quan đến soi kèo bóng đá truoctran 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_datePrecision
)Precision
)độ chính xác
)Precision
)
current_time
vàcurrent_timestamp
Cung cấp các giá trị theo múi giờ;địa phương
vàLocalTimeStamp
Cung cấp các giá trị không có múi giờ.
current_time
,current_timestamp
,địa phương
vàLocalTimeStamp
có thể tùy ý 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 current_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ề soi kèo bóng đá truoctran bắt đầu của giao dịch hiện tại, giá trị của chúng không thay đổi trong giao dịch. Đây được coi là một tính năng: Mục đích là cho phép một giao dịch duy nhất có một khái niệm nhất quán vềhiện tạiKhănsoi kèo bóng đá truoctran, để nhiều sửa đổi trong cùng một giao dịch mang cùng soi kèo bóng đá truoctran.
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ề soi kèo bóng đá truoctran bắt đầu của câu lệnh hiện tại, cũng như soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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ề soi kèo bóng đá truoctran bắt đầu của câu lệnh hiện tại (cụ thể hơn là soi kèo bóng đá truoctran 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ề soi kèo bóng đá truoctran 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ề soi kèo bóng đá truoctran hiện tại thực tế, nhưng theo định dạngText
Chuỗi thay vì Adấu soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran/giờ cũng chấp nhận giá trị theo nghĩa đen đặc biệtBây giờ
Để chỉ định soi kèo bóng đá truoctran và giờ hiện tại (một lần nữa, được hiểu là thời gian bắt đầu giao dịch). Do đó, ba phần sau đều trả về cùng một kết quả:
Chọn current_timestamp;
Không sử dụng biểu mẫu thứ ba khi chỉ định giá trị sẽ được đánh giá sau, ví dụ trong AMặc định
mệnh đề cho một cột bảng. Hệ thống sẽ chuyển đổiBây giờ
đến ADấu soi kèo bóng đá truoctran
Ngay khi hằng số được phân tích cú pháp, do đó khi cần giá trị mặc định, soi kèo bóng đá truoctran 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
)Interval
)dấu soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran ngủ được chỉ định làKhoảng
.pg_sleep_until
là một hàm tiện lợi khi mong muốn soi kèo bóng đá truoctran thức dậy cụ thể. Ví dụ:
Chọn PG_SLEEP (1.5);
Độ phân giải hiệu quả của khoảng soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran đ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ày105141_105205