Bảng 9.33Hiển thị các chức năng có sẵn để xử lý giá trị cách đọc kèo bóng đá/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 cách đọc kèo bóng đá/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 cách đọc kèo bóng đá/giờ. cách đọc kèo bóng đá 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ị cách đọc kèo bóng đá được giả định là đại diện cho nửa đêm trongtimezone
Vùng khi so sánh nó với dấu cách đọc kèo bóng đá.
Tất cả các hàm và toán tử được mô tả bên dưới lấycách đọc kèo bóng đá
hoặcDấu cách đọc kèo bóng đá
Đầu vào thực sự có hai biến thể: một biến thểcách đọc kèo bóng đá với múi giờ
hoặcdấu cách đọc kèo bóng đá với múi giờ
, và một cái màcách đọc kèo bóng đá không có múi giờ
hoặcdấu cách đọc kèo bóng đá 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 trong các cặp giao hoán (ví dụ: cả haicách đọc kèo bóng đá
+
Số nguyên
vàSố nguyên
+
cách đọc kèo bóng đá
); 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ử cách đọc kèo bóng đá/giờ
Nhà điều hành Mô tả Ví dụ (s) |
---|
Thêm một số cách đọc kèo bóng đá vào một cách đọc kèo bóng đá
|
Thêm một khoảng vào cách đọc kèo bóng đá
|
Thêm thời gian của cách đọc kèo bóng đá vào cách đọc kèo bóng đá
|
Thêm khoảng cách đọc kèo bóng đá
|
Thêm một khoảng cách đọc kèo bóng đá vào dấu cách đọc kèo bóng đá
|
Thêm một khoảng cách đọc kèo bóng đá
|
phủ định một khoảng
|
Trừ cách đọc kèo bóng đá, tạo ra số cách đọc kèo bóng đá trôi qua
|
Trừ một số cách đọc kèo bóng đá kể từ cách đọc kèo bóng đá
|
Trừ một khoảng thời gian từ cách đọc kèo bóng đá
|
cách đọc kèo bóng đá trừ
|
Trừ một khoảng cách đọc kèo bóng đá từ thời
|
Trừ một khoảng cách đọc kèo bóng đá từ dấu cách đọc kèo bóng đá
|
Khoảng cách đọc kèo bóng đá trừ
|
Thời gian trừ (chuyển đổi khoảng thời gian 24 giờ thành cách đọc kèo bóng đá, tương tự như
|
Nhân một khoảng cách đọc kèo bóng đá với vô hướng
|
Chia một khoảng cho vô hướng
|
Bảng 9.33. Chức năng cách đọc kèo bóng đá/giờ
function Mô tả Ví dụ (s) |
---|
Trừ đối số, tạo ra mộtbiểu tượngKết quả sử dụng nhiều năm và tháng, thay vì chỉ vài cách đọc kèo bóng đá
|
đối số trừ từ
|
cách đọc kèo bóng đá 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
|
cách đọc kèo bóng đá hiện tại; nhìn thấyPhần 9.9.5
|
Thời gian hiện tại trong cách đọc kèo bóng đá; nhìn thấyPhần 9.9.5
|
Thời gian hiện tại trong cách đọc kèo bóng đá, với độ chính xác hạn chế; nhìn thấyPhần 9.9.5
|
cách đọc kèo bóng đá và giờ hiện tại (bắt đầu giao dịch hiện tại); nhìn thấyPhần 9.9.5
|
cách đọc kèo bóng đá 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 cách đọc kèo bóng đá đượ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 cách đọc kèo bóng đá (tương đương với
|
Nhận trường con khoảng cách đọc kèo bóng đá (tương đương với
|
Trừ một
|
Cắt ngắn để 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 cách đọc kèo bóng đá; nhìn thấyPhần 9.9.1
|
Nhận trường con khoảng cách đọc kèo bóng đá; nhìn thấyPhần 9.9.1
|
Kiểm tra cách đọc kèo bóng đá hữu hạn (không phải +/- vô cực)
|
Kiểm tra dấu cách đọc kèo bóng đá hữu hạn (không phải +/- infinity)
|
Kiểm tra khoảng cách đọc kèo bóng đá hữu hạn (không phải +/- infinity)
|
Điều chỉnh khoảng thời gian, chuyển thời gian 30 cách đọc kèo bóng đá 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 cách đọc kèo bóng đá
|
Điều chỉnh khoảng cách đọc kèo bóng đá sử dụng
|
Thời gian hiện tại trong cách đọc kèo bóng đá; nhìn thấyPhần 9.9.5
|
Thời gian hiện tại trong cách đọc kèo bóng đá, với độ chính xác hạn chế; nhìn thấyPhần 9.9.5
|
cách đọc kèo bóng đá và giờ hiện tại (bắt đầu giao dịch hiện tại); nhìn thấyPhần 9.9.5
|
cách đọc kèo bóng đá 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 cách đọc kèo bóng đá từ các trường, tháng và cách đọc kèo bóng đá (năm âm biểu thị BC)
|
Tạo khoảng từ các năm, tháng, tuần, cách đọc kèo bóng đá, giờ, phút và giây, mỗi trường có thể mặc định là không
|
Tạo cách đọc kèo bóng đá từ giờ, phút và giây
|
Tạo dấu thời gian từ các trường năm, tháng, cách đọc kèo bóng đá, 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, cách đọc kèo bóng đá, giờ, phút và giây (năm âm biểu thị BC). Nếu như
|
cách đọc kèo bóng đá và giờ hiện tại (bắt đầu giao dịch hiện tại); nhìn thấyPhần 9.9.5
|
cách đọc kèo bóng đá và giờ hiện tại (bắt đầu tuyên bố hiện tại); nhìn thấyPhần 9.9.5
|
cách đọc kèo bóng đá và giờ hiện tại (như
|
cách đọc kèo bóng đá 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 cách đọc kèo bóng đá 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
) chồng chéo (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 cách đọc kèo bóng đá, 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 cách đọc kèo bóng đá được coi là đại diện cho khoảng cách đọc kèo bóng đá nửa mởBắt đầu
<=
cách đọc kèo bóng đá
<
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 cách đọc kèo bóng đá duy nhất đó ngay lập tức. Điều này có nghĩa là hai khoảng cách đọc kèo bóng đá chỉ có điểm cuối chung không trùng nhau.
Chọn (cách đọc kèo bóng đá '2001-02-16', cách đọc kèo bóng đá '2001-12-21') chồng chéoKết quả:TRUE
Chọn (cách đọc kèo bóng đá '2001-02-16', khoảng thời gian '100 cách đọc kèo bóng đá')Kết quả:Sai
Chọn (cách đọc kèo bóng đá '2001-10-29', cách đọc kèo bóng đá '2001-10-30')Kết quả:Sai
Chọn (cách đọc kèo bóng đá '2001-10-30', cách đọc kèo bóng đá '2001-10-30')Kết quả:TRUE
Khi thêm mộtKhoảng
Giá trị để (hoặc trừ mộtKhoảng
Giá trị từ) ADấu cách đọc kèo bóng đá
hoặcdấu cách đọc kèo bóng đá với múi giờ
Giá trị, tháng, cách đọc kèo bóng đá và trường micro giây củaKhoảng
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 cách đọc kèo bóng đá của dấu thời gian theo số tháng được chỉ định, giữ cho cách đọc kèo bóng đá trong tháng trừ khi nó sẽ qua cuối tháng mới, trong trường hợp đó, cách đọc kèo bóng đá cuối cùng của tháng đó được sử dụng.dấu cách đọc kèo bóng đá 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 cách đọc kèo bóng đá'
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 cách đọc kèo bóng đá';Kết quả:2005-04-03 12:00:00-06
Chọn dấu cách đọc kèo bóng đá với múi giờ '2005-04-02 12: 00: 00-07' + khoảng cách đọc kèo bóng đá '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 cách đọc kèo bóng đá 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ố cách đọc kèo bóng đá khác nhau.PostgreSQLS cách tiếp cận sử dụng tháng từ trước đó của hai cách đọc kèo bóng đá 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 cách đọc kèo bóng đá
, trong khi sử dụng có thể sẽ mang lại1 Thứ Hai 2 cách đọc kèo bóng đá
Vì có thể có 31 cách đọc kèo bóng đá, trong khi tháng Tư chỉ có 30.
phép trừ cách đọc kèo bóng đá 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ố cách đọc kèo bóng đá 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 cách đọc kèo bóng đá.-
Nhà điều hành trả về số cách đọc kèo bóng đá (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, cách đọc kèo bóng đá 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 cách đọc kèo bóng đá giữa hai cách đọc kèo bóng đá đượ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
58890_58971Kết quả:121 cách đọc kèo bóng đá 23:00:00
59098_59183Kế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ừ cách đọc kèo bóng đá/giá trị thời gian.Nguồn
phải là biểu thức giá trị của loạiDấu cách đọc kèo bóng đá
, cách đọc kèo bóng đá
, cách đọc kèo bóng đá
hoặcKhoảng
. (cách đọc kèo bóng đá và cách đọc kèo bóng đá 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;cách đọc kèo bóng đá
, trong khi các trường của một cách đọc kèo bóng đá hoặc nhiều hơn không thể được trích xuất từ Acách đọc kèo bóng đá
. 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ừ cách đọc kèo bóng đá '0001-01-01 AD');result:1
Chọn trích xuất (thế kỷ từ cách đọc kèo bóng đá '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
cách đọc kèo bóng đá
cách đọc kèo bóng đá của tháng (1 Ném31); vìInterval
Giá trị, số cách đọc kèo bóng đá
Chọn trích xuất (cách đọc kèo bóng đá từ Timestamp '2001-02-16 20:38:40');Kết quả:16
Chọn trích xuất (cách đọc kèo bóng đá từ khoảng '40 cách đọc kèo bóng đá 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 cách đọc kèo bóng đá '2001-02-16 20:38:40');Kết quả:200
Dow
cách đọc kèo bóng đá 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
cách đọc kèo bóng đá số trong tuần khác với cách đọc kèo bóng đáto_char (..., 'd')
chức năng.
doy
cách đọc kèo bóng đá trong năm (1 Ném365/366)
Chọn trích xuất (doy từ dấu cách đọc kèo bóng đá '2001-02-16 20:38:40');Kết quả:47
Epoch
chodấu cách đọc kèo bóng đá với múi giờ
Giá trị, số giây kể từ 1970-01-01 00:00:00 UTC (âm cho dấu cách đọc kèo bóng đá trước đó); vìcách đọc kèo bóng đá
vàTimestamp
Giá trị, số giây danh nghĩa kể từ 1970-01-01 00:00:00, mà không liên quan đến các quy tắc về thời gian hoặc sáng ban cách đọc kèo bóng đá; 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 cách đọc kèo bóng đá 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 cách đọc kèo bóng đá 3 giờ');Kết quả:442800.000000
Bạn có thể chuyển đổi giá trị kỷ nguyên trở lạidấu cách đọc kèo bóng đá 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ừ Acách đọc kèo bóng đá
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 đọc kèo bóng đá 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 cách đọc kèo bóng đá, không giới hạn trong các khoảng cách đọc kèo bóng đá)
Chọn Trích xuất (giờ từ Timestamp '2001-02-16 20:38:40');Kết quả:20
isodow
cách đọc kèo bóng đá 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 cách đọc kèo bóng đá trong tuần.
ISOYEAR
TheISO8601 năm đánh số tuần mà cách đọc kèo bóng đá rơi vào
Chọn trích xuất (Isoyear từ cách đọc kèo bóng đá '2006-01-01');Kết quả:2005
Chọn Trích xuất (Isoyear từ cách đọc kèo bóng đá '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 cách đọc kèo bóng đá 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
Thecách đọc kèo bóng đá Juliantương ứng với cách đọc kèo bóng đá 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ừ cách đọc kèo bóng đá '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 (micro giây từ cách đọc kèo bóng đá '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ừ cách đọc kèo bóng đá 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ừ cách đọc kèo bóng đá '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 cách đọc kèo bóng đá '2001-02-16 20:38:40');result: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ý
Phần tư của năm (1 Ném4) mà cách đọc kèo bóng đá diễn ra trong
Chọn trích xuất (quý từ Timestamp '2001-02-16 20:38:40');result: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 cách đọc kèo bóng đá '2001-02-16 20:38:40');Kết quả:40.000000
Chọn trích xuất (thứ hai theo cách đọc kèo bóng đá '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 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 cách đọc kèo bóng đá 4 tháng 1 năm đó.
Trong hệ thống đánh số tuần ISO, có thể các cách đọc kèo bóng đá sớm tháng 1 là một phần của tuần thứ 52 hoặc 53 của năm trước, và vào cuối tháng 12 tháng 12 là một phần của tuần đầu tiên của năm sau. Ví dụ,2005-01-01
là một phần của tuần thứ 53 của năm 2004 và2006-01-01
là một phần của tuần thứ 52 của năm 2005, trong khi2012-12-31
là một phần của tuần đầu tiên của năm 2013. Nên sử dụngISOYEAR
trường cùng vớiTuần
Để có kết quả nhất quán.
Chọn trích xuất (tuần từ Timestamp '2001-02-16 20:38:40');Kết quả:7
năm
Trường năm. Hãy nhớ rằng không có0 AD
, Vì vậy, trừBC
năm từAD
Năm nên được thực hiện một cách đọc kèo bóng đá 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 cách đọc kèo bóng đá 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 ';result: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ờ
, cách đọc kèo bóng đá
, 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ị cách đọc kèo bóng đá/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');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 cách đọc kèo bóng đá
, dấu cách đọc kèo bóng đá với múi giờ
hoặcKhoảng
. (Giá trị loạicách đọc kèo bóng đá
vàcách đọc kèo bóng đá
được đúc tự động đếnDấu cách đọc kèo bóng đá
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 cách đọc kèo bóng đá 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 cách đọc kèo bóng đá và tháng).
Giá trị hợp lệ chotrường
là:
microseconds |
Milliseconds |
thứ hai |
phút |
giờ |
cách đọc kèo bóng đá |
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 cách đọc kèo bóng đá 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ànhcách đọc kèo bóng đá
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 đọc kèo bóng đá nào được mô tả trongPhần 8.5.3.
Múi giờ không thể được chỉ định khi xử lýdấu cách đọc kèo bóng đá 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 ('cách đọc kèo bóng đá', 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
82408_82508Kết quả:2001-02-16 08:00:00-05
Chọn ngày_TRUNC ('giờ', khoảng '3 cách đọc kèo bóng đá 02:47:33');Kết quả:3 cách đọc kèo bóng đá 02:00:00
Date_Bin
#hàmdate_bin
BinsHồicách đọc kèo bóng đá đầu vào vào khoảng cách đọc kèo bóng đá đượ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 cách đọc kèo bóng đá với múi giờ
. (Giá trị loạicách đọc kèo bóng đá
được đúc tự động đếnDấu cách đọc kèo bóng đá
.)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ạiDấu cách đọc kèo bóng đá
hoặcdấu cách đọc kèo bóng đá 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á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 cách đọc kèo bóng đá tùy ý.
Thesải chân
Khoảng cách đọc kèo bóng đá 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 cách đọc kèo bóng đákhông cómúi giờ đến/từ tem cách đọc kèo bóng đávớimúi giờ vàcách đọc kèo bóng đá 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 cách đọc kèo bóng đá đã chokhôngmúi giờ đến tem cách đọc kèo bóng đávớiMúi giờ, giả sử giá trị đã cho nằm trong múi giờ được đặt tên.
|
Chuyển đổi cách đọc kèo bóng đá đã chokhôngmúi giờ đến tem cách đọc kèo bóng đávớiphiên của
|
Chuyển đổi cách đọc kèo bóng đá đã chovớimúi giờ đến tem cách đọc kèo bóng đákhông cóMúi giờ, như cách đọc kèo bóng đá sẽ xuất hiện trong khu vực đó.
|
Chuyển đổi cách đọc kèo bóng đá đã chovớiMúi giờ đến tem cách đọc kèo bóng đákhông cóMúi giờ, vì cách đọc kèo bóng đá sẽ xuất hiện với phiên của phiên
|
Chuyển đổi cách đọc kèo bóng đá đã chovớiMúi giờ đến múi giờ mới. Vì không có cách đọc kèo bóng đá 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 cách đọc kèo bóng đá đã chovớiMúi giờ đến múi giờ mới. Vì không có cách đọc kèo bóng đá 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 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 đọc kèo bóng đá nào được mô tả trongPhần 8.5.3. Trường hợp khoảng cách đọc kèo bóng đá 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 cách đọc kèo bóng đá '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 cách đọc kèo bóng đá với múi giờ '2001-02-16 20: 38: 40-05' tại múi giờ 'Mỹ/Denver';Kết quả:2001-02-16 18:38:40
Chọn dấu cách đọc kèo bóng đá '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
Chọn dấu cách đọc kèo bóng đá 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 cách đọc kèo bóng đá 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 một giá trị thiếu nó và hiển thị giá trị bằng cách đọc kèo bóng đá sử dụng hiện tạitimezone
Cài đặt. Ví dụ thứ hai chuyển tem cách đọc kèo bóng đá 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 cách đọc kèo bóng đá Tokyo sang cách đọc kèo bóng đá ở 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ó cách đọc kèo bóng đá liên quan đến giá trị đầu vào, việc chuyển đổi được thực hiện bằng cách đọc kèo bóng đá 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 cách đọc kèo bóng đá.
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ờZone
hàm
tương đương với cấu trúc hình thành SQLtimezone
(khu vực
, cách đọc kèo bóng đá
)
.cách đọc kèo bóng đá
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
(cách đọc kèo bóng đá
)
.cách đọc kèo bóng đá
tại địa phương
PostgreSQLCung cấp một số hàm trả về các giá trị liên quan đến cách đọc kèo bóng đá 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
)Precision
)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 số trong trường thứ hai. 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ề cách đọc kèo bóng đá 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ồicách đọc kèo bóng đá, để nhiều sửa đổi trong cùng một giao dịch có cùng cách đọc kèo bóng đá.
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ề cách đọc kèo bóng đá bắt đầu của câu lệnh hiện tại, cũng như cách đọc kèo bóng đá hiện tại thực tế tại ngay lập tức chức năng được gọi. Danh sách đầy đủ các chức năng cách đọc kèo bóng đá 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ề cách đọc kèo bóng đá bắt đầu của câu lệnh hiện tại (cụ thể hơn là cách đọc kèo bóng đá 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ề cách đọc kèo bóng đá 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ề cách đọc kèo bóng đá hiện tại thực tế, nhưng theo định dạngText
Chuỗi chứ không phảidấu cách đọc kèo bóng đá 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 cách đọc kèo bóng đá/giờ cũng chấp nhận giá trị theo nghĩa đen đặc biệtBây giờ
Để chỉ định cách đọc kèo bóng đá 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 ATimestamp
Ngay khi hằng số được phân tích cú pháp, do đó khi cần giá trị mặc định, cách đọc kèo bóng đá 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 có sẵn để trì hoãn việc thực hiện quy trình máy chủ:
pg_s ngủ (Double Precision
)Khoảng
)dấu cách đọc kèo bóng đá 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 cách đọc kèo bóng đá ngủ được chỉ định làKhoảng
. pg_sleep_until
là một hàm tiện lợi khi mong muốn cách đọc kèo bóng đá 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 cách đọc kèo bóng đá 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 thời điểm đã chỉ định, nhưng nó sẽ không thức dậy sớm hơn.
Đảm bảo rằng phiên của bạn không giữ nhiều khóa hơn mức cần thiết khi gọipg_s ngủ
hoặc các biến thể của nó. Nếu không, các phiên khác có thể phải chờ quá trình ngủ của bạn, làm chậm toàn bộ hệ thống.
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ày105431_105495