Postgresql 9.3.25 Tài kèo bóng đá pháp | ||||
---|---|---|---|---|
prev | UP | Chương 9. Các chức năng và toán tử | Tiếp theo |
ThePostgreSQLĐịnh kèo bóng đá pháp 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 kèo bóng đá pháp và để chuyển đổi từ các chuỗi được định kèo bóng đá pháp sang Các loại dữ liệu cụ thể.Bảng 9-21Liệ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 kèo bóng đá pháp và Đối số thứ hai là một mẫu xác định đầu ra hoặc đầu vào định kèo bóng đá pháp.
một cuộc tranh luận đơnto_timestamp
Hàm cũng có sẵn; nó chấp nhận mộtDouble
Độ chính xácĐối số và chuyển đổi từ unix epoch (giây kể từ
1970-01-01 00: 00: 00+00) đếnDấu thời gian theo thời gian
vùng. (Số nguyênEPOCHS UNIX là
hoàn toàn đúc choDouble Precision.)
Bảng 9-21. Định kèo bóng đá pháp chức năng
function | 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 '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 Precision,
Text) |
Text | Chuyển đổi độ chính xác thực/đôi thành chuỗi | 13619_13650 |
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ố | 14419_14446 | 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 (1284352323) |
trong Ato_char
Mẫu đầu ra
Chuỗi, có một số mẫu nhất định được công nhận và thay thế
với dữ liệu được định kèo bóng đá pháp phù hợp dựa trên giá trị đã cho. Bất kì
Văn bản 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 chuỗi mẫu đầu vào (cho các chức năng khác),
Các mẫu mẫu xác định các giá trị được cung cấp bởi đầu vào
Chuỗi dữ liệu.
Bảng 9-22Hiển thị các mẫu mẫu có sẵn cho ngày định kèo bóng đá pháp và giá trị thời gian.
Bảng 9-22. Mẫu mẫu cho ngày/giờ Định kèo bóng đá pháp
mẫu | Mô tả |
---|---|
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) |
AM, AM, PMhoặcPM | Chỉ báo Meridiem (không có thời gian) |
A.M., a.m., p.m.hoặcp.m. | Chỉ báo Meridiem (có thời gian) |
y, yyy | Năm (4 chữ số trở lên) với dấu phẩy |
Yyyy | Năm (4 chữ số trở lên) |
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 8601 Năm đánh dấu tuần (4 chữ số trở lên) |
IYY | 3 chữ số cuối cùng của ISO 8601 năm đánh dấu tuần |
IY | 2 chữ số cuối cùng của ISO 8601 Numbering năm |
i | Chữ số cuối cùng của ISO 8601 năm đánh dấu tuần |
BC, BC, ADhoặcAD | Chỉ số ERA (không có thời gian) |
B.C., B.C., a.d.hoặcA.D. | Chỉ báo ERA (có thời gian) |
tháng | 18297_18351 |
tháng | Tên tháng được viết hoa đầy đủ (trống rỗng đến 9 ký tự) |
tháng | Tên tháng hoàn toàn thường |
Mon | Tên tháng trên viết tắt (3 ký tự bằng tiếng Anh, Độ dài cục bộ khác nhau) |
Mon | Tên tháng viết tắt (3 ký tự bằng tiếng Anh, Độ dài cục bộ khác nhau) |
Mon | Tên thường xuyên viết tắt (3 ký tự bằng tiếng Anh, Độ dài cục bộ khác nhau) |
mm | Số tháng (01-12) |
ngày | 19125_19177 |
ngày | 19234_19287 |
ngày | 19344_19396 |
dy | 19452_19530 |
dy | Tên ngày viết tắt (3 ký tự bằng tiếng Anh, bản địa hóa Độ dài khác nhau) |
dy | tên chữ thường được viết tắt Độ dài khác nhau) |
DDD | ngày trong năm (001-366) |
IDDD | Ngày của ISO 8601 năm đánh số tuần (001-371; Ngày 1 của năm là thứ hai của tuần ISO đầu tiên) |
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 | 20319_203551) đến Chủ nhật (7) |
W | tuần trong tháng (1-5) (tuần đầu tiên bắt đầu vào 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 từ lần đầu tiên ngày trong năm) |
IW | Số tuần của ISO 8601 năm đánh dấu tuần (01-53; lần đầu tiên Thứ Năm của năm là vào Tuần 1) |
CC | Thế kỷ (2 chữ số) (thế kỷ hai mươi mốt bắt đầu 2001-01-01) |
J | Ngày Julian (Ngày số nguyên kể từ ngày 24 tháng 11, 4714 trước Công nguyên lúc nửa đêm Utc) |
Q | quý (bị bỏ qua bởito_date vàto_timestamp ) |
rm | Tháng trong chữ số La Mã trường hợp cao hơn (I-XII; I = tháng 1) |
rm | Tháng ở chữ số chữ số La Mã (I-XII; I = tháng 1) |
TZ | Vòng chữ viết tắt vùng trên (chỉ được hỗ trợ trongto_char ) |
TZ | chữ viết tắt theo thời gian thường xuyên (chỉ được hỗ trợ trongto_char ) |
Bộ điều chỉnh có thể được áp dụng cho bất kỳ mẫu mẫu nào để thay đổi nó hành vi. Ví dụ,fmmonthlàthángmẫu vớiFMModifier.Bảng 9-23Hiển thị các mẫu sửa đổi cho định kèo bóng đá pháp ngày/giờ.
Bảng 9-23. Bộ sửa đổi mẫu mẫu cho ngày/giờ Định kèo bóng đá pháp
Modifier | Mô tả | Ví dụ |
---|---|---|
FMtiền tố | 22573_22629 | fmmonth |
THHậu tố | Hậu tố số thứ tự trường hợp trên | ddth, ví dụ:12 |
THHậu tố | Hậu tố số chữ thường | ddth, ví dụ:12 |
fxtiền tố | Định kèo bóng đá pháp 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_time) | tmmonth |
SPHậu tố | Chế độ chính tả (không được triển khai) | DDSP |
Ghi chú sử dụng cho định kèo bóng đá pháp ngày/giờ:
FMkhoảng trống theo dõi nếu không sẽ được thêm vào để tạo ra đầu ra của Một mô hình được chiều rộng cố định. TRONGPOSTGRESQL, FMChỉ sửa đổi thông số kỹ thuật tiếp theo, trong khi ở OracleFMảnh hưởng đến tất cả các thông số kỹ thuật tiếp theo và lặp lạiFMBộ điều chỉnh chuyển đổi chế độ điền vào và tắt.
TMKhông bao gồm dấu vết khoảng trống.
24201_24215
vàto_date
Bỏ qua nhiều khoảng trống trong đầu vào
Chuỗi trừ khifxTùy chọn được sử dụng. Vì
ví dụ,TO_TIMESTAMP ('2000 Jun', 'Yyyy
Mon ')hoạt động, nhưngto_timestamp ('2000 tháng 6', 'fxyyyy
Mon ')Trả về lỗi vìto_timestamp
Chỉ mong đợi một không gian.fxphải được chỉ định là mục đầu tiên trong
bản mẫu.
Văn bản thông thường được phép trongto_char
Mẫu và sẽ được đầu ra theo 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ó trở thành
được giải thích 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ữ kèo bóng đá pháp năm,
Nhưng đơnyinnămsẽ không. TRONGto_date
, to_number
,,
Vàto_timestamp
, được trích dẫn kép
Chuỗi bỏ qua số lượng ký tự đầu vào có trong
Chuỗi, ví dụ:"XX"bỏ qua hai đầu vào
ký tự.
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ụ'\ "Yyyy tháng \"'.
Nếu đặc tả định kèo bóng đá pháp năm nhỏ hơn bốn chữ số, ví dụ:YYYvà năm được cung cấp ít hơn Bốn chữ số, năm sẽ được điều chỉnh để gần nhất với năm 2020, ví dụ:95trở thành 1995.
TheYyyyChuyển đổi từ chuỗi thànhDấu thời gianhoặcngàycó a Hạn chế khi xử lý năm với hơn 4 chữ số. Bạn phải sử dụng một số ký tự hoặc mẫu không chữ số 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 giải thích như một năm 4 chữ số; thay vào đó, hãy sử dụng một 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 sangDấu thời gianhoặcngày, TheCC(thế kỷ) trường bị bỏ qua nếu cóYYY, Yyyyhoặcy, yyyTrường. Nếu nhưCCđược sử dụng vớiYYhoặcYSau đó Năm được tính là năm trong thế kỷ quy định. Nếu thế kỷ được chỉ định nhưng năm không, năm đầu tiên của thế kỷ được giả định.
Một ngày đánh số tuần ISO 8601 (khác với một Gregorian
ngày) có thể được chỉ định thànhto_timestamp
vàto_date
Theo một trong hai cách:
Năm, số 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 thì đó là giả sử là 1 (thứ hai).
Năm và ngày trong năm: Ví dụto_date ('2006-291', 'iyyy-iddd')Cũng trả về2006-10-19.
27742_27956"Tháng"hoặc"Ngày của tháng"không có ý nghĩa. Trong Bối cảnh của một năm Gregorian, Tuần lễ ISO không có ý nghĩa.
THẬN TRỌNG |
trong khi |
Trong một chuyển đổi từ chuỗi thànhDấu thời gian,, mili giây (MS) hoặc microsecond (US) Các giá trị được sử dụng làm chữ số thứ hai 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ì việc chuyển đổi tính là 12 + 0,3 giây. Cái này có nghĩa là cho định kèo bóng đá phápSS: MS, đầu vào Giá trị12:3, 12:30và12:300Chỉ định cùng một số mili giây. Để có được ba mili giây, một Phải sử dụng12:003, mà chuyển đổi Đếm là 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 ', 'HH24: 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')
ngày của
Đánh số tuần khớp vớiTrích xuất (Isodow
từ ...)
chức năng, nhưngto_char (...,
'D')
'S không khớpTrích xuất (Dow
từ ...)
s đánh số ngày.
to_char (khoảng thời gian)
Định kèo bóng đá phápHHvàHH12như
hiển thị trên đồng hồ 12 giờ, tức là số giờ và 36 giờ đầu ra là12, trong khiHH24đầu ra giá trị toàn bộ giờ, có thể vượt quá 23 cho các khoảng thời gian.
Bảng 9-24Hiển thị các mẫu mẫu có sẵn để định kèo bóng đá pháp Giá trị số.
Bảng 9-24. Mẫu mẫu cho định kèo bóng đá pháp số
mẫu | Mô tả |
---|---|
9 | Vị trí chữ số (có thể được bỏ nếu không đáng kể) |
0 | Vị trí chữ số (sẽ không bị hủy, ngay cả khi không đáng kể) |
.(giai đoạn) | Điểm thập phân |
,(dấu phẩy) | nhóm (hàng ngà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 | Bộ phân cách nhóm (sử dụng locale) |
MI | trừ đăng ký ở vị trí được chỉ định (nếu số <0) |
PL | Plus đăng nhập vị trí được chỉ định (nếu số 0) |
SG | Plus/Minus Đăng nhập vị trí được chỉ định |
RN | Số La Mã (đầu vào giữa 1 đến 3999) |
THhoặcTH | Hậu tố số thứ tự |
V | SHIFF Số chữ số được chỉ định (xem ghi chú) |
EEEE | số mũ cho ký hiệu khoa học |
Ghi chú sử dụng cho định kèo bóng đá pháp số:
0Chỉ định vị trí chữ số sẽ
Luôn luôn được in, ngay cả khi nó chứa số không dẫn đầu/theo dõi.9cũng chỉ định vị trí chữ số, nhưng nếu
Nó là một số 0 hàng đầu thì nó sẽ được thay thế bằng một không gian, trong khi nếu
Nó là một chế độ không có dấu vết và chế độ điền được chỉ định thì nó sẽ được
đã xóa. (Vìto_number ()
, hai người này
Các ký tự mẫu tương đương.)
Các ký tự mẫuS, L, Dvàg33097_33222LC_monetaryvàlc_numeric). Các Thời kỳ ký tự mẫu và dấu phẩy đại diện cho những người chính xác nhân vật, với ý nghĩa của dấu thập phân và hàng ngàn phân tách, bất kể địa phương.
Nếu không có điều khoản rõ ràng nào được thực hiện để đăng nhậpto_char ()
33625_33745Sxuất hiện chỉ bên trái của một số9s, nó cũng sẽ được neo vào
con số.
Một dấu hiệu được định kèo bóng đá pháp bằng cách sử dụngSG, PLhoặcMIkhông được neo đến số; Ví dụ,to_char (-12, 'MI9999')sản xuất'-12'nhưngto_char (-12, 'S9999')Sản xuất' -12 '. (The Oracle Việc triển khai không cho phép sử dụngMItrước9, nhưng đúng hơn yêu cầu điều đó9trướcMI.)
THKhông chuyển đổi giá trị ít hơn không và không chuyển đổi số phân số.
PL, SGvàTHlà34722_34734Tiện ích mở rộng.
VNhân hiệu quả đầu vào
giá trị của10^n, trong đón34944_34981V. 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
cho phép).
EEEE(ký hiệu khoa học) không thể được sử dụng kết hợp với bất kỳ mẫu định kèo bóng đá pháp nào khác hoặc các bộ điều chỉnh khác với các mẫu chữ số và số thập phân, và phải là Ở cuối chuỗi định kèo bóng đá pháp (ví dụ:9.99eeeelà một mẫu hợp lệ).
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ụ,FM99.99là99.99mẫu vớiFMModifier.Bảng 9-25Hiển thị các mẫu sửa đổi cho định kèo bóng đá pháp số.
Bảng 9-25. Bộ sửa đổi mẫu mẫu cho số Định kèo bóng đá pháp
Modifier | Mô tả | Ví dụ |
---|---|---|
FMtiền tố | 36276_36333 | FM99.99 |
ThHậu tố | Hậu tố số chữ số trên | 999th |
thHậu tố | Hậu tố số chữ thường | 999th |
Bảng
9-26Hiển thị một số ví dụ về việc sử dụngto_char
chức năng.
Bảng 9-26.to_char
Ví dụ
expression | result |
---|---|
to_char (current_timestamp, 'Ngày, DD HH12: MI: SS') | 'Thứ ba, 06 05:39:18' |
37400_37470 | 'Thứ ba, 6 05:39:18' |
to_char (-0.1, '99 .99 ') | ' -.10 ' |
to_char (-0.1, 'fm9.99') | '-. 1' |
to_char (-0.1, 'fm90.99') | '-0.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') | 38574_38599 |
to_char (1485, '9,999') | ' 1,485 ' |
38759_38783 | ' 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 ' |
to_char (3148.5, '9G999D999') | ' 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' |
to_char (485, 'l999') | 'DM 485' |
to_char (485, 'rn') | ' Cdlxxxv ' |
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' |
to_char (485.8, '"Pre:" 999 "Bài đăng:" .999') | 'Pre: 485 bài: .800' |
to_char (12, '99V999') | ' 12000 ' |
to_char (12.4, '99V999') | ' 12400 ' |
to_char (12,45, '99v9') | ' 125 ' |
to_char (0,0004859, '9,99eeee') | ' 4.86E-04 ' |
42109_42115 | Trang chủ | Tiếp theo |
khớp mẫu | UP | Hàm ngày/giờ và Người vận hành |