Postgresql 8.3.23 Tài cách đọc kèo bóng đá | ||||
---|---|---|---|---|
Prev | Backward nhanh | Chương 9. Chức năng và toán tử | Chuyển tiếp nhanh | Tiếp theo |
ThePostgreSQLĐịnh cách đọc kèo bóng đá Các chức năng cung cấp một bộ công cụ mạnh mẽ để chuyển đổi Các loại dữ liệu (ngày/giờ, số nguyên, điểm nổi, số) chuỗi được định cách đọc kèo bóng đá và để chuyển đổi từ các chuỗi được định cách đọc kèo bóng đá sang Các loại dữ liệu cụ thể.Bảng 9-20liệt kê chúng. Tất cả các chức năng này đều tuân theo một cuộc gọi chung quy ước: Đối số đầu tiên là giá trị được định cách đọc kèo bóng đá và Đối số thứ hai là một mẫu xác định đầu ra hoặc Định cách đọc kèo bóng đá đầu vào.
Theto_timestamp
Hàm có thể
Cũng lấy mộtDouble PrecisionĐối số để chuyển đổi từ unix epoch sangdấu thời gian
Với múi giờ. (Số nguyên12361_12401Double
Độ chính xác.)
Bảng 9-20. Định cách đọc kèo bóng đá chức năng
chức năng | Return Type | Mô tả | Ví dụ |
---|---|---|---|
to_char (dấu thời gian, Text) |
Text | chuyển đổi thời gian thành chuỗi | to_char (current_timestamp, 'HH12: MI: SS') |
to_char (Khoảng,
Text) |
Text | Chuyển đổi khoảng thời gian thành chuỗi | to_char (khoảng thời gian '15h 2m 12s', 'hh24: mi: ss') |
to_char (int,
Text) |
Text | chuyển đổi số nguyên thành chuỗi | to_char (125, '999') |
to_char (Double
Độ chính xác, Text) |
Text | Chuyển đổi độ chính xác thực/gấp đôi thành chuỗi | to_char (125.8 :: Real, '999d9') |
to_char (Số,
Text) |
Text | Chuyển đổi số thành chuỗi | to_char (-125.8, '999d99s') |
to_date (Text,
Text) |
ngày | Chuyển đổi chuỗi thành ngày | to_date ('05 tháng 12 năm 2000 ', 'DD mon yyyy') |
to_number (Text,
Text) |
Số | chuyển đổi chuỗi thành số | to_number ('12, 454.8- ', '99G999D9S') |
TO_TIMESTAMP (Text, Text) |
dấu thời gian với múi giờ | Chuyển đổi chuỗi thành tem thời gian | to_timestamp ('05 tháng 12 năm 2000 ', 'DD mon yyyy') |
TO_TIMESTAMP (Double
Độ chính xác) |
dấu thời gian với múi giờ | Chuyển đổi Epoch UNIX sang tem thời gian | to_timestamp (200120400) |
Trong chuỗi mẫu đầu ra (choto_char
), có những mẫu nhất định
được công nhận và thay thế bằng dữ liệu được định cách đọc kèo bóng đá phù hợp từ
giá trị được định cách đọc kèo bóng đá. Bất kỳ văn bản nào không phải là một mẫu
Mẫu chỉ đơn giản là sao chép nguyên văn. Tương tự, trong một đầu vào
Chuỗi mẫu (cho bất cứ điều gì ngoại trừto_char
16775_16895
Bảng 9-21Hiển thị các mẫu mẫu có sẵn để định cách đọc kèo bóng đá giá trị ngày và thời gian.
Bảng 9-21. Mẫu mẫu cho ngày/giờ Định cách đọc kèo bóng đá
mẫu | 17423_17436 |
---|---|
HH | giờ trong ngày (01-12) |
HH12 | Giờ trong ngày (01-12) |
HH24 | Giờ trong ngày (00-23) |
MI | Phút (00-59) |
SS | Thứ hai (00-59) |
MS | millisecond (000-999) |
US | microsecond (000000-999999) |
SSSS | giây cuối đêm (0-86399) |
18469_18473hoặcA.M.hoặcPMhoặcp.m. | Chỉ báo Meridian (chữ hoa) |
AMhoặcA.M.hoặcPMhoặcp.m. | Chỉ báo Meridian (chữ thường) |
y, yyy | Năm (4 và nhiều chữ số) với dấu phẩy |
Yyyy | Năm (4 và thêm chữ số) |
YYY | 3 chữ số cuối cùng của năm |
YY | 2 chữ số cuối cùng của năm |
y | Chữ số cuối cùng của năm |
Iyyy | ISO Year (4 và thêm chữ số) |
IYY | 3 chữ số cuối năm iso |
IY | 2 chữ số cuối năm của ISO |
i | chữ số cuối cùng của năm ISO |
BChoặcB.C.hoặcADhoặcA.D. | Chỉ báo ERA (chữ hoa) |
BChoặcB.C.hoặcADhoặcA.D. | Chỉ báo ERA (chữ thường) |
tháng | Tên tháng viết hoa đầy đủ (có màu trống đến 9 chars) |
tháng | Tên tháng hoàn toàn hỗn hợp (có màu trống đến 9 chars) |
tháng | 20877_20940 |
Mon | Tên tháng viết tắt (3 ký tự bằng tiếng Anh, tiếng Anh, Độ dài cục bộ khác nhau) |
Mon | Tên tháng trong trường hợp hỗn hợp viết tắt Tiếng Anh, độ dài bản địa hóa khác nhau) |
Mon | Tên tháng viết chữ viết tắt (3 ký tự bằng tiếng Anh, tiếng Anh, Độ dài cục bộ khác nhau) |
mm | Số tháng (01-12) |
ngày | 21704_21765 |
ngày | Tên trong trường hợp hỗn hợp đầy đủ (Bánh trống đến 9 chars) |
ngày | Tên ngày hoàn toàn thường chars) |
DY | Tên chữ viết tắt (3 ký tự bằng tiếng Anh, tiếng Anh, Độ dài cục bộ khác nhau) |
DY | Tên trong trường hợp hỗn hợp viết tắt (3 ký tự bằng tiếng Anh, tiếng Anh, Độ dài cục bộ khác nhau) |
DY | Tên chữ thường viết tắt (3 ký tự bằng tiếng Anh, tiếng Anh, Độ dài cục bộ khác nhau) |
DDD | ngày trong năm (001-366) |
IDDD | 22836_22925 |
DD | Ngày của tháng (01-31) |
D | Ngày trong tuần, Chủ nhật (1) đến thứ bảy (7) |
id | Ngày ISO trong tuần, Thứ Hai (1) đến Chủ nhật (7) |
W | tuần trong tháng (1-5) (tuần đầu tiên bắt đầu trên ngày đầu tiên của tháng.) |
WW | Số tuần của năm (1-53) (tuần đầu tiên bắt đầu ngày đầu tiên của năm.) |
IW | Số tuần ISO của năm (1 - 53; Thứ Năm đầu tiên của năm mới là vào tuần 1.) |
CC | Thế kỷ (2 chữ số) (thế kỷ hai mươi mốt bắt đầu trên 2001-01-01.) |
J | 24267_24335 |
q | quý |
RM | Tháng bằng chữ số La Mã (I-XII; I = tháng 1) (chữ hoa) |
rm | Tháng bằng chữ số La Mã (I-XII; I = tháng 1) (chữ thường) |
TZ | Tên khu vực thời gian (chữ hoa) |
TZ | Tên vùng thời gian (chữ thường) |
Một số sửa đổi nhất định có thể được áp dụng cho bất kỳ mẫu mẫu nào để thay đổi hành vi của nó. Ví dụ,fmmonthlàthángmẫu vớiFMModifier.Bảng 9-22Hiển thị các mẫu sửa đổi cho ngày/giờ Định cách đọc kèo bóng đá.
Bảng 9-22. Bộ điều chỉnh mẫu mẫu cho Định cách đọc kèo bóng đá ngày/giờ
Modifier | Mô tả | Ví dụ |
---|---|---|
FMtiền tố | Chế độ điền (triệt tiêu khoảng trống và zeroes) | fmmonth |
ThHậu tố | Hậu tố số chữ in hoa | ddth |
ThHậu tố | Hậu tố số chữ thường | ddth |
fxtiền tố | Định cách đọc kèo bóng đá cố định Tùy chọn toàn cầu (xem Ghi chú sử dụng) | FX tháng DD ngày |
TMtiền tố | Chế độ dịch (in tên ngày và tháng được bản địa hóa dựa trênLC_Messages) | tmmonth |
SPHậu tố | Chế độ chính tả (chưa được triển khai) | DDSP |
Ghi chú sử dụng cho định cách đọc kèo bóng đá ngày/giờ:
FMnhững khoảng trống theo dõi mà nếu không sẽ được thêm vào để tạo ra đầu ra của một mẫu được cố định chiều rộng.
TMKhông bao gồm dấu vết khoảng trống.
to_timestamp
vàto_date
Bỏ qua nhiều trống
khoảng cách trong chuỗi đầu vào nếufxTùy chọn không được sử dụng.FXphải là
được chỉ định là mục đầu tiên trong mẫu. Ví dụto_timestamp ('2000 tháng 6',
'Yyyy mon')là chính xác, nhưng28023_28092Trả về lỗi, vìto_timestamp
Chỉ mong đợi một không gian.
Văn bản thông thường được phép trongto_char
Mẫu và sẽ được đầu ra
theo đúng nghĩa đen. Bạn có thể đặt một chuỗi con trong các trích dẫn kép để buộc
nó được hiểu là văn bản theo nghĩa đen ngay cả khi nó chứa
Các từ khóa mẫu. Ví dụ, trong'"Hello Year" Yyyy', TheYyyysẽ được thay thế bằng dữ cách đọc kèo bóng đá năm, nhưng
đơnYinnămsẽ không.
Nếu bạn muốn có báo giá kép trong đầu ra, bạn phải trước đó với một dấu gạch chéo ngược, ví dụE '\ "Yyyy tháng \"'. (Hai dấu gạch chéo ngược là cần thiết vì dấu gạch chéo ngược đã có một ý nghĩa đặc biệt Khi sử dụng cú pháp chuỗi thoát.)
TheYyyyChuyển đổi từ chuỗi ĐẾNTimestamphoặcngàycó hạn chế nếu bạn sử dụng một năm với Hơn 4 chữ số. Bạn phải sử dụng một số ký tự không chữ số hoặc Mẫu sauYyyy, nếu không thì Năm luôn được hiểu là 4 chữ số. Ví dụ (với Năm 20000):TO_DATE ('20001131', 'Yyyymmdd')sẽ được hiểu là một năm 4 chữ số; Thay vào đó, hãy sử dụng một thiết bị phân tách không chữ số sau năm, nhưTO_DATE ('2000-1131', 'Yyyy-MMDD')hoặcTO_DATE ('20000NOV31', 'Yyyymondd').
Trong các chuyển đổi từ chuỗi sangTimestamphoặcngày, TheCCTrường bị bỏ qua nếu cóYYY, Yyyyhoặcy, yyyTrường. Nếu như30136_30140được sử dụng vớiYYhoặcYSau đó, năm được tính là(CC-1)*100+YY.
Một ngày tuần ISO (khác với ngày Gregorian) có thể
được chỉ định choto_timestamp
vàto_date
Trong một trong hai
cách:
năm, tuần và ngày trong tuần, ví dụto_date ('2006-42-4', 'iyyy-iw-id')Trả về ngày2006-10-19. Nếu bạn bỏ qua Ngày trong tuần được giả định là 1 (Thứ Hai).
năm và ngày trong năm, ví dụto_date ('2006-291', 'iyyy-iddd')Ngoài ra trả về2006-10-19.
Cố gắng xây dựng một ngày bằng cách sử dụng hỗn hợp Tuần lễ ISO và các lĩnh vực ngày Gregorian là vô nghĩa, và có thể mang lại Kết quả bất ngờ. Trong bối cảnh của một năm ISO, Khái niệm về một 'tháng' hoặc 'ngày trong tháng' không có ý nghĩa. Trong Bối cảnh của một năm Gregorian, tuần ISO không có ý nghĩa. Người dùng nên chăm sóc để giữ cho Gregorian và ISO ngày Thông số kỹ thuật riêng biệt.
millisecond (MS) và microsecond (US) Các giá trị trong chuyển đổi từ Chuỗi thànhTimestampđược sử dụng như một phần của Những giây sau điểm thập phân. Ví dụto_timestamp ('12: 3 ',' ss: ms ')không phải là 3 mili giây, nhưng 300, vì chuyển đổi được tính là 12 + 0,3 giây. Điều này có nghĩa là cho định cách đọc kèo bóng đáSS: MS, các giá trị đầu vào12:3, 12:30và12:300Chỉ định cùng một số của mili giây. Để có được ba mili giây, người ta phải sử dụng12:003, mà tính toán chuyển đổi như 12 + 0,003 = 12.003 giây.
Đây là một ví dụ phức tạp hơn:TO_TIMESTAMP ('15: 12: 02.020.001230 ', 'HH: MI: SS.MS.US')là 15 giờ, 12 phút và 2 giây + 20 mili giây + 1230 micro giây = 2.021230 giây.
to_char (..., 'id')
S ngày của
Việc đánh số tuần phù hợp vớiTrích xuất (isodow từ ...)
chức năng, nhưngto_char (..., 'd')
'S không
cuộc thi đấuTrích xuất (chỉ từ ...)
's
Đánh số ngày.
to_char (khoảng thời gian)
Định cách đọc kèo bóng đáHHvàHH12Như giờ trong một ngày, trong khiHH24Có thể xuất hiện giờ vượt quá một ngày, ví dụ: 24.
Bảng 9-23Hiển thị các mẫu mẫu có sẵn để định cách đọc kèo bóng đá Giá trị số.
Bảng 9-23. Mẫu mẫu cho số Định cách đọc kèo bóng đá
mẫu | Mô tả |
---|---|
9 | Giá trị với số chữ số được chỉ định |
0 | Giá trị với số không dẫn đầu |
.(giai đoạn) | Điểm thập phân |
,(dấu phẩy) | Nhóm (nghìn) phân tách |
pr | Giá trị âm trong khung góc |
S | dấu hiệu neo vào số (sử dụng locale) |
L | Biểu tượng tiền tệ (sử dụng locale) |
D | Điểm thập phân (sử dụng locale) |
g | phân tách nhóm (sử dụng locale) |
MI | trừ vị trí được chỉ định (nếu số < 0) |
PL | Plus đăng nhập vị trí được chỉ định (nếu số 0) |
SG | cộng/trừ đăng nhập vị trí được chỉ định |
RN | 35414_35456 |
THhoặcTH | Hậu tố số thứ tự |
V | 35708_35754 |
EEEE | Ký hiệu khoa học (chưa được thực hiện) |
Ghi chú sử dụng cho định cách đọc kèo bóng đá số:
Một dấu hiệu được định cách đọc kèo bóng đá bằngSG, PLhoặcMIkhông được neo vào số; Ví dụ,to_char (-12, 'S9999')sản xuất' -12 ', nhưngto_char (-12, 'mi9999')sản xuất'-12'. Việc thực hiện Oracle không cho phép sử dụngMIphía trước của9, nhưng thay vào đó yêu cầu điều đó9trướcMI.
9dẫn đến một giá trị với cùng một số chữ số như có9s. Nếu một chữ số không có sẵn, nó sẽ xuất ra không gian.
THKhông chuyển đổi giá trị ít hơn hơn 0 và không chuyển đổi số phân số.
PL, SG,, VàTHlàPOSTGRESQLTiện ích mở rộng.
VNhân hiệu quả nhân
Giá trị đầu vào của10^n, trong đónlà số chữ số sauV. to_char
Không hỗ trợ việc sử dụngVKết hợp với một điểm thập phân.
(Ví dụ.,99,9v99không được phép.)
Bảng
9-24Hiển thị một số ví dụ về việc sử dụngto_char
chức năng.
Bảng 9-24.to_char
Ví dụ
Biểu thức | result |
---|---|
to_char (current_timestamp, 'Ngày, DD HH12: MI: SS') | 'Thứ ba, 06 05:39:18' |
to_char (current_timestamp, 'Fmday, fmdd hh12: mi: ss') | 'Thứ ba, 6 05:39:18' |
to_char (-0.1, '99 .99 ') | ' -.10 ' |
to_char (-0.1, 'fm9.99') | '-. 1' |
to_char (0,1, '0,9') | ' 0,1 ' |
to_char (12, '9990999.9') | ' 0012.0 ' |
to_char (12, 'FM9990999.9') | '0012.' |
to_char (485, '999') | ' 485 ' |
to_char (-485, '999') | '-485' |
to_char (485, '9 9 9') | ' 4 8 5 ' |
to_char (1485, '9,999') | ' 1,485 ' |
to_char (1485, '9g999') | ' 1 485 ' |
to_char (148.5, '999.999') | ' 148.500 ' |
to_char (148.5, 'FM999.999') | '148.5' |
to_char (148.5, 'FM999.990') | '148.500' |
to_char (148.5, '999d999') | ' 148.500 ' |
41145_41185 | ' 3 148.500 ' |
to_char (-485, '999S') | '485-' |
to_char (-485, '999mi') | '485-' |
to_char (485, '999mi') | '485' |
to_char (485, 'fm999mi') | '485' |
to_char (485, 'pl999') | '+485' |
to_char (485, 'SG999') | '+485' |
to_char (-485, 'SG999') | '-485' |
to_char (-485, '9SG99') | '4-85' |
to_char (-485, '999PR') | '<485' |
42655_42677 | 'DM 485 |
to_char (485, 'rn') | 42881_42940 |
to_char (485, 'fmrn') | 'CDLXXXV' |
to_char (5.2, 'fmrn') | 'V' |
to_char (482, '999th') | ' 482nd ' |
to_char (485, '"Số tốt:" 999') | 'số tốt: 485' |
43660_43722 | 'trước: 485 bài: .800' |
to_char (12, '99V999') | ' 12000 ' |
to_char (12.4, '99V999') | ' 12400 ' |
to_char (12,45, '99v9') | ' 125 ' |