Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

9.4. soi kèo bóng đá truoctran chức năng và toán tử#

Phần này mô tả các chức năng và toán tử để kiểm tra và thao tác các giá trị soi kèo bóng đá truoctran. soi kèo bóng đá truoctran trong bối cảnh này bao gồm các giá trị của các loạiký tự, Nhân vật khác nhauText. Ngoại trừ nơi được ghi nhận, các chức năng soi kèo bóng đá truoctran tử này được tuyên bố chấp nhận và trả lại loạiText. Họ sẽ thay thế cho nhau chấp nhậnNhân vật khác nhauĐối số. Giá trị của loạiNhân vậtsẽ được chuyển đổi thànhTextTrước khi chức năng hoặc toán tử được áp dụng, dẫn đến việc tước bất kỳ khoảng trống nào trongký tựGiá trị.

SQLXác định một số hàm soi kèo bóng đá truoctran sử dụng các từ khóa, thay vì dấu phẩy, để phân tách các đối số. Chi tiết trongBảng 9.9. PostgreSQLCũng cung cấp các phiên bản của các chức năng này sử dụng cú pháp gọi chức năng thông thường (xemBảng 9.10).

Lưu ý

Toán tử nối soi kèo bóng đá truoctran (||) sẽ chấp nhận đầu vào không soi kèo bóng đá truoctran, miễn là ít nhất một đầu vào là loại soi kèo bóng đá truoctran, như trongBảng 9.9. Đối với các trường hợp khác, việc chèn một sự ép buộc rõ ràng soi kèo bóng đá truoctranoTextCó thể được sử dụng để có đầu vào không soi kèo bóng đá truoctran được chấp nhận.

Bảng 9.9.SQLsoi kèo bóng đá truoctran Chức năng và toán tử

Hàm/toán tử

Mô tả

Ví dụ (s)

Text || TextText

Concatenates hai soi kèo bóng đá truoctran.

'Post' || 'gresql'PostgreSQL

Text || AnynonarrayText

Anynonarray || TextText

Chuyển đổi đầu vào không soi kèo bóng đá truoctran thành văn bản, sau đó kết hợp hai soi kèo bóng đá truoctran. (Đầu vào không soi kèo bóng đá truoctran không thể thuộc loại mảng, vì điều đó sẽ tạo ra sự mơ hồ với mảng||Người vận hành. Nếu bạn muốn kết hợp văn bản của một mảng tương đương, hãy chuyển nó thànhTextrõ ràng.)

'Giá trị:' || 42Giá trị: 42

Btrim(soi kèo bóng đá truoctran Text[, ký tự Text]) →Text

Xóa soi kèo bóng đá truoctran dài nhất chỉ chứa các ký tự trongký tự(một không gian theo mặc định) từ đầu và cuối củasoi kèo bóng đá truoctran.

btrim ('xyxtrimyyx', 'xyz')Trim

Text [không] [Mẫu]chuẩn hóaBoolean

Kiểm tra xem soi kèo bóng đá truoctran có ở dạng chuẩn hóa Unicode được chỉ định hay không. Tùy chọnMẫuTừ khóa Chỉ định biểu mẫu:NFC(mặc định),NFD, NFKChoặcNFKD. Biểu thức này chỉ có thể được sử dụng khi mã hóa máy chủ làUTF8. Lưu ý rằng việc kiểm tra chuẩn hóa bằng cách sử dụng biểu thức này thường nhanh hơn so với chuẩn hóa các soi kèo bóng đá truoctran có thể đã chuẩn hóa.

u & '\ 0061 \ 0308bc' được chuẩn hóa NFDT

bit_length(Text) →Số nguyên

Trả về số bit trong soi kèo bóng đá truoctran (8 lầnoctet_length).

bit_length ('jose')32

char_length(Text) →Số nguyên

ký tự_length(Text) →Số nguyên

Trả về số lượng ký tự trong soi kèo bóng đá truoctran.

char_length ('josé')4

Hạ(Text) →Text

Chuyển đổi soi kèo bóng đá truoctran thành tất cả các chữ thường, theo các quy tắc của địa phương của cơ sở dữ liệu.

Hạ ('Tom')Tom

LPAD(soi kèo bóng đá truoctran Text, length Số nguyên[, FILL Text]) →Text

Mở rộngsoi kèo bóng đá truoctranđến chiều dàilengthbằng cách chi tiêu các ký tựFILL(một không gian theo mặc định). Nếusoi kèo bóng đá truoctranđã dài hơnLEGNSau đó, nó bị cắt cụt (bên phải).

lpad ('hi', 5, 'xy')XYXHI

LTRIM(soi kèo bóng đá truoctran Text[, ký tự Text]) →Text

Xóa soi kèo bóng đá truoctran dài nhất chỉ chứa các ký tự trongký tự(một không gian theo mặc định) từ đầu củasoi kèo bóng đá truoctran.

ltrim ('zzzytest', 'xyz')Test

bình thường(Text[, Mẫu]) →Text

Chuyển đổi soi kèo bóng đá truoctran thành biểu mẫu chuẩn hóa Unicode được chỉ định. Tùy chọnMẫuTừ khóa Chỉ định biểu mẫu:NFC(mặc định),NFD, NFKChoặcNFKD. Chức năng này chỉ có thể được sử dụng khi mã hóa máy chủ làUTF8.

bình thường hóa (u & '\ 0061 \ 0308bc', NFC)u & '\ 00e4bc'

octet_length(Text) →Số nguyên

Trả về số byte trong soi kèo bóng đá truoctran.

octet_length ('josé')5(Nếu mã hóa máy chủ là UTF8)

octet_length(ký tự) →Số nguyên

Trả về số byte trong soi kèo bóng đá truoctran. Vì phiên bản này của chức năng chấp nhận loạiNhân vậtTrực tiếp, nó sẽ không tước các không gian dấu vết.

octet_length ('abc' :: ký tự (4))4

Lớp phủ(soi kèo bóng đá truoctran Text Đặt NewsubString Text từ Bắt đầu Số nguyên[cho Đếm Số nguyên]) →Text

Thay thế soi kèo bóng đá truoctran con củasoi kèo bóng đá truoctranbắt đầu từBắt đầuĐếmký tự vớiNewsubString. Nếu nhưĐếmbị bỏ qua, nó mặc định theo chiều dàiNewsubString.

Lớp phủ ('txxxxas' đặt 'hom' từ 2 cho 4)Thomas

vị trí(Subring Text in soi kèo bóng đá truoctran Text) →Số nguyên

Trả về chỉ mục bắt đầu đầu tiên của được chỉ địnhSubringtrongsoi kèo bóng đá truoctranhoặc không nếu nó không có mặt.

vị trí ('om' trong 'Thomas')3

RPAD(soi kèo bóng đá truoctran Text, length Số nguyên[, FILL Text]) →Text

Mở rộngsoi kèo bóng đá truoctranto LongLEGNBằng cách nối thêm các ký tựFILL(một không gian theo mặc định). Nếusoi kèo bóng đá truoctranđã dài hơnlengthSau đó, nó bị cắt cụt.

rpad ('hi', 5, 'xy')Hixyx

rtrim(soi kèo bóng đá truoctran Text[, ký tự Text]) →Text

Xóa soi kèo bóng đá truoctran dài nhất chỉ chứa các ký tự trongký tự(một khoảng trống theo mặc định) từ cuốisoi kèo bóng đá truoctran.

rtrim ('testxxzx', 'xyz')test

Subring(soi kèo bóng đá truoctran Text[từ Bắt đầu Số nguyên] [cho Đếm Số nguyên]) →Text

trích xuất soi kèo bóng đá truoctran con củasoi kèo bóng đá truoctranBắt đầu tạiBắt đầuĐếmký tự nếu được chỉ định. Cung cấp ít nhất một trong sốBắt đầuĐếm.

Subring ('Thomas' từ 2 cho 3)Hom

Subring ('Thomas' từ 3)OMAS

Subring ('Thomas' cho 2)TH

Subring(soi kèo bóng đá truoctran Text từ mẫu Text) →Text

trích xuất biểu thức thông thường phù hợp với soi kèo bóng đá truoctran con đầu tiên; nhìn thấyPhần 9.7.3.

Subring ('Thomas' từ '... $')mas

Subring(soi kèo bóng đá truoctran Text tương tự mẫu Text Escape Escape Text) →Text

Subring(soi kèo bóng đá truoctran Text từ mẫu Text cho Escape Text) →Text

Trích xuất khớp nối đầu tiênSQLBiểu thức chính quy; nhìn thấyPhần 9.7.2. Mẫu đầu tiên đã được chỉ định kể từ SQL: 2003;

Subring ('Thomas' tương tự '%#"O_A#" _' Escape '#')OMA

Trim([Dẫn đầu | Trailing | cả] [ký tự Text]từ soi kèo bóng đá truoctran Text) →Text

Xóa soi kèo bóng đá truoctran dài nhất chỉ chứa các ký tự trongký tự(một khoảng trống theo mặc định) từ đầu, kết thúc hoặc cả hai đầu (cảlà mặc định) củasoi kèo bóng đá truoctran.

Trim (cả 'xyz' từ 'yxtomxx')Tom

Trim([Dẫn đầu | Trailing | cả] [từ]soi kèo bóng đá truoctran Text[, ký tự Text]) →Text

Đây là cú pháp không chuẩn choTrim ().

Trim (cả hai từ 'yxtomxx', 'xyz')Tom

trên(Text) →Text

Chuyển đổi soi kèo bóng đá truoctran thành tất cả các trường hợp trên, theo các quy tắc của ngôn ngữ của cơ sở dữ liệu.

trên ('tom')Tom


Các hàm và toán tử thao tác soi kèo bóng đá truoctran bổ sung có sẵn và được liệt kê trongBảng 9.10. (Một số trong số này được sử dụng nội bộ để thực hiệnSQL-Standard Chức năng soi kèo bóng đá truoctran được liệt kê trongBảng 9.9.) Ngoài ra còn có các toán tử khớp mẫu, được mô tả trongPhần 9.7soi kèo bóng đá truoctran tử cho tìm kiếm toàn văn bản, được mô tả trongChương 12.

Bảng 9.10. Các chức năng soi kèo bóng đá truoctran và toán tử khác

Chức năng/Toán tử

Mô tả

Ví dụ (s)

Text ^@ TextBoolean

Trả về true nếu soi kèo bóng đá truoctran thứ nhất bắt đầu với soi kèo bóng đá truoctran thứ hai (tương đương vớistarts_with ()chức năng).

'Bảng chữ cái' ^@ 'Alph'T

ASCII(Text) →Số nguyên

Trả về mã số của ký tự đầu tiên của đối số. TRONGUTF8Mã hóa, trả về điểm mã Unicode của ký tự. Trong các mã hóa multibyte khác, đối số phải làASCIIký tự.

ASCII ('x')120

chr(Số nguyên) →Text

Trả về ký tự với mã đã cho. TRONGUTF8Mã hóa đối số được coi là điểm mã Unicode. Trong các mã hóa multibyte khác, đối số phải chỉ định mộtASCIIký tự.CHR (0)không được phép vì các loại dữ liệu văn bản không thể lưu trữ ký tự đó.

CHR (65)A

Concat(Val1 "Any"[,Val2 "bất kỳ"[, ...]]) →Text

Kết hợp các biểu diễn văn bản của tất cả các đối số. Các đối số null bị bỏ qua.

Concat ('abcde', 2, null, 22)ABCDE222

Concat_WS(SEP Text, Val1 "bất kỳ"[,Val2 "bất kỳ"[, ...]]) →Text

Kết hợp tất cả trừ đối số đầu tiên, với các dấu phân cách. Đối số đầu tiên được sử dụng làm soi kèo bóng đá truoctran phân tách và không nên null.

Concat_ws (',', 'abcde', 2, null, 22)ABCDE, 2,22

Định dạng(Định dạng ​​Text[,Định dạng "bất kỳ"[, ...]]) →Text

Định dạng đối số theo soi kèo bóng đá truoctran định dạng; nhìn thấyPhần 9.4.1. Chức năng này tương tự như hàm CSprintf.

Định dạng ('Xin chào %s, %1 $ s', 'thế giới')Hello World, World

initCap(Text) →Text

Chuyển đổi chữ cái đầu tiên của mỗi từ sang trường hợp trên và phần còn lại thành chữ thường. Các từ là soi kèo bóng đá truoctran các ký tự chữ và số được phân tách bằng các ký tự không phải là ký tự.

initCap ('Hi Thomas')Hi Thomas

trái(soi kèo bóng đá truoctran Text, n Số nguyên) →Text

trả về đầu tiênnký tự trong soi kèo bóng đá truoctran hoặc khinlà tiêu cực, trả về tất cả nhưng cuối cùng |n| ký tự.

trái ('abcde', 2)AB

LEGN(Text) →Số nguyên

Trả về số lượng ký tự trong soi kèo bóng đá truoctran.

LEGN ('Jose')4

MD5(Text) →Text

Tính toán MD5Hashcủa đối số, với kết quả được viết bằng thập lục phân.

MD5 ('ABC')900150983CD24FB0 D6963F7D28E17F72

parse_ident(đủ điều kiện_identifier Text[,strict_mode Boolean Mặc định TRUE]) →Text []

chia táchđủ điều kiện_identifierthành một mảng số nhận dạng, xóa bất kỳ trích dẫn nào của các định danh riêng lẻ. Theo mặc định, các ký tự bổ sung sau khi định danh cuối cùng được coi là một lỗi;false, sau đó các ký tự phụ như vậy bị bỏ qua. .Tên [].

parse_ident ('"someschema" .sometable')someschema, somesable

pg_client_encoding() →tên

Trả về tên mã hóa máy khách hiện tại.

pg_client_encoding ()UTF8

QUOTE_IDENT(Text) →Text

Trả về soi kèo bóng đá truoctran đã cho được trích dẫn phù hợp để được sử dụng làm định danh trong mộtSQLsoi kèo bóng đá truoctran câu lệnh. Báo giá chỉ được thêm vào nếu cần thiết (nghĩa là, nếu soi kèo bóng đá truoctran chứa các ký tự không nhận dạng hoặc sẽ được xếp lại trường hợp).Ví dụ 43.1.

QUOTE_IDENT ('Foo Bar')"Foo Bar"

quote_literal(Text) →Text

Trả về soi kèo bóng đá truoctran đã cho được trích dẫn phù hợp để được sử dụng làm soi kèo bóng đá truoctran theo nghĩa đen trong mộtSQLsoi kèo bóng đá truoctran câu lệnh. Các trích dẫn đơn và dấu gạch chéo được nhúng được nhân đôi đúng cách.quote_literalTrả về NULL trên đầu soi kèo bóng đá truoctrano null; Nếu đối số có thể là null,QUOTE_NULLABLEthường phù hợp hơn. Xem thêmVí dụ 43.1.

quote_literal (e'o \ 'reilly')'O''Reilly'

quote_literal(AnyEuity) →Text

Chuyển đổi giá trị đã cho thành văn bản và sau đó trích dẫn nó theo nghĩa đen. Các tài liệu đơn và dấu gạch chéo được nhúng được nhân đôi đúng cách.

quote_literal (42.5)'42 .5 '

QUOTE_NULLABLE(Text) →Text

Trả về soi kèo bóng đá truoctran đã cho được trích dẫn phù hợp để được sử dụng làm soi kèo bóng đá truoctran theo nghĩa đen trong mộtSQLsoi kèo bóng đá truoctran câu lệnh; hoặc, nếu đối số là null, trả vềnull. Các trích dẫn đơn và dấu gạch chéo được nhúng được nhân đôi đúng cách.Ví dụ 43.1.

quote_nullable (null)null

quote_nullable(AnyEuity) →Text

Chuyển đổi giá trị đã cho thành văn bản và sau đó trích dẫn nó theo nghĩa đen; hoặc, nếu đối số là null, trả vềnull. Các tài liệu đơn và dấu gạch chéo được nhúng được nhân đôi đúng cách.

quote_nullable (42.5)'42 .5 '

regexp_count(soi kèo bóng đá truoctran Text, Mẫu Text[,Bắt đầu Số nguyên[,cờ Text]]) →Số nguyên

Trả về số lần biểu thức chính quy POSIXmẫuphù hợp vớisoi kèo bóng đá truoctran; nhìn thấyPhần 9.7.3.

regexp_count ('123456789012', '\ d \ d \ d', 2)3

regexp_instr(soi kèo bóng đá truoctran Text, mẫu Text[,Bắt đầu Số nguyên[,n Số nguyên[,endoption Số nguyên[,cờ Text[,subexpr Số nguyên]]]]]]) →Số nguyên

Trả về vị trí trongsoi kèo bóng đá truoctrantrong đón'That của biểu thức chính quy POSIXmẫuxảy ra hoặc bằng không nếu không có trận đấu như vậy; nhìn thấyPhần 9.7.3.

regexp_instr ('abcdef', 'c (.) (..)', 1, 1, 0, 'i')3

regexp_instr ('abcdef', 'c (.) (..)', 1, 1, 0, 'i', 2)5

regexp_like(soi kèo bóng đá truoctran Text, mẫu Text[,cờ Text]) →Boolean

Kiểm tra xem một trận đấu của biểu thức chính quy POSIXmẫuxảy ra trongsoi kèo bóng đá truoctran; nhìn thấyPhần 9.7.3.

regexp_like ('Hello World', 'World $', 'I')T

regexp_match(soi kèo bóng đá truoctran Text, mẫu Text[,cờ Text]) →Text []

Trả về các soi kèo bóng đá truoctran con trong trận đấu đầu tiên của biểu thức chính quy POSIXmẫuđếnsoi kèo bóng đá truoctran; nhìn thấyPhần 9.7.3.

regexp_match ('foobarbequebaz', '(bar) (beque)')Bar, Beque

regexp_matches(soi kèo bóng đá truoctran Text, mẫu Text[,cờ Text]) →Text SetOf []

Trả về các soi kèo bóng đá truoctran con trong trận đấu đầu tiên của biểu thức chính quy POSIXmẫuđếnsoi kèo bóng đá truoctranhoặc soi kèo bóng đá truoctran con trong tất cả các trận đấu như vậy nếugcờ được sử dụng; nhìn thấyPhần 9.7.3.

regexp_matches ('foobarbequebaz', 'ba.', 'G')

Bar

regexp_replace(soi kèo bóng đá truoctran Text, mẫu Text, Thay thế Text[,Bắt đầu Số nguyên] [,cờ Text]) →Text

Thay thế soi kèo bóng đá truoctran con là kết hợp đầu tiên với biểu thức chính quy POSIXmẫuhoặc tất cả các trận đấu như vậy nếugcờ được sử dụng; nhìn thấyPhần 9.7.3.

regexp_replace ('Thomas', '. [Mn] a.', 'M')THM

regexp_replace(soi kèo bóng đá truoctran Text, mẫu Text, Thay thế Text, Bắt đầu Số nguyên, n Số nguyên[,cờ Text]) →Text

Thay thế phần phụ đó làn56400_56444Mẫuhoặc tất cả các trận đấu như vậy nếunbằng không; nhìn thấyPhần 9.7.3.

regexp_replace ('Thomas', '.', 'X', 3, 2)Thoxas

regexp_split_to_array(soi kèo bóng đá truoctran Text, mẫu Text[,cờ Text]) →Text []

chia táchsoi kèo bóng đá truoctranSử dụng biểu thức chính quy POSIX làm dấu phân cách, tạo ra một loạt các kết quả; nhìn thấyPhần 9.7.3.

regexp_split_to_array ('Hello World', '\ s+')xin chào, thế giới

regexp_split_to_table(soi kèo bóng đá truoctran Text, Mẫu Text[,cờ Text]) →Setof Text

chia táchsoi kèo bóng đá truoctranSử dụng biểu thức chính quy POSIX làm dấu phân cách, tạo ra một tập hợp các kết quả; nhìn thấyPhần 9.7.3.

regexp_split_to_table ('Hello World', '\ s+')

Xin chào

regexp_substr(soi kèo bóng đá truoctran Text, mẫu Text[,Bắt đầu Số nguyên[,n Số nguyên[,cờ Text[,subexpr Số nguyên]]]]]) →Text

Trả về phần phụ trongsoi kèo bóng đá truoctranphù hợp vớin'Sự xuất hiện của biểu thức chính quy POSIXmẫuhoặcnullNếu không có trận đấu như vậy; nhìn thấyPhần 9.7.3.

regexp_substr ('abcdef', 'c (.) (..)', 1, 1, 'i')CDEF

regexp_substr ('abcdef', 'c (.) (..)', 1, 1, 'i', 2)EF

Lặp lại(soi kèo bóng đá truoctran Text, Số Số nguyên) →Text

lặp lạisoi kèo bóng đá truoctranđược chỉ địnhNumbercủa thời gian.

Lặp lại ('PG', 4)PGPGPGPG

thay thế(soi kèo bóng đá truoctran Text, từ Text, đến Text) →Text

Thay thế tất cả các lần xuất hiện trongsoi kèo bóng đá truoctrancủa soi kèo bóng đá truoctran contừvới soi kèo bóng đá truoctran conđến.

thay thế ('abcdefabcdef', 'cd', 'xx')abxxefaBxef

đảo ngược(Text) →Text

đảo ngược thứ tự của các ký tự trong soi kèo bóng đá truoctran.

Reverse ('ABCDE')EDCBA

phải(soi kèo bóng đá truoctran Text, n Số nguyên) →Text

Trả về cuối cùngnký tự trong soi kèo bóng đá truoctran hoặc khinlà tiêu cực, trả về tất cả trừ đầu tiên |n| ký tự.

phải ('abcde', 2)de

Split_part(soi kèo bóng đá truoctran Text, Delimiter Text, n Số nguyên) →Text

chia táchsoi kèo bóng đá truoctranKhi xảy raDelimitervà trả vền'trường (đếm từ một) hoặc khinlà âm, trả về |n

64325_64366def

Split_part ('ABC, def, GHI, JKL', ',', -2)GHI

starts_with(soi kèo bóng đá truoctran Text, tiền tố Text) →Boolean

Trả về đúng nếusoi kèo bóng đá truoctranBắt đầu bằngtiền tố.

starts_with ('bảng chữ cái', 'alph')T

String_to_array(soi kèo bóng đá truoctran Text, Delimiter Text[, NULL_STRING Text]) →Text []

chia táchsoi kèo bóng đá truoctranKhi xảy raDelimitervà tạo thành các trường kết quả thành ATextMảng. Nếu nhưDelimiternull, mỗi ký tự trongsoi kèo bóng đá truoctransẽ trở thành một yếu tố riêng biệt trong mảng. Nếu nhưDelimiterlà một soi kèo bóng đá truoctran trống, sau đósoi kèo bóng đá truoctranđược coi là một trường duy nhất. Nếu nhưNULL_STRINGđược cung cấp và không phải lànull, Các trường khớp soi kèo bóng đá truoctran đó được thay thế bằngnull. Xem thêmArray_TO_String.

String_to_array ('xx ~ ~ yy ~ ~ zz', '~ ~', 'yy')xx, null, zz

String_to_table(soi kèo bóng đá truoctran Text, Delimiter Text[, NULL_STRING Text]) →SETOF TEXT

chia táchsoi kèo bóng đá truoctranKhi xảy raDelimitervà trả về các trường kết quả dưới dạng một tập hợpTexthàng. Nếu nhưDelimiternull, mỗi ký tự trongsoi kèo bóng đá truoctransẽ trở thành một hàng riêng của kết quả. Nếu nhưDelimiterlà một soi kèo bóng đá truoctran trống, sau đósoi kèo bóng đá truoctranđược coi là một trường duy nhất. Nếu nhưNULL_STRINGđược cung cấp và khôngnull, Trường khớp với soi kèo bóng đá truoctran đó được thay thế bằngnull.

String_to_table ('xx ~^~ yy ~^~ zz', '~^~', 'yy')

XX

strpos(soi kèo bóng đá truoctran Text, Subring Text) →Số nguyên

Trả về chỉ mục bắt đầu đầu tiên của được chỉ địnhSubringtrongsoi kèo bóng đá truoctranhoặc không nếu nó không có. (Giống nhưvị trí (insoi kèo bóng đá truoctran), nhưng lưu ý thứ tự đối số đảo ngược.)

strpos ('cao', 'ig')2

Subr(soi kèo bóng đá truoctran Text, Bắt đầu Số nguyên[, Đếm Số nguyên]) →Text

trích xuất soi kèo bóng đá truoctran con củasoi kèo bóng đá truoctranBắt đầu tạiBắt đầu'Th ký tự và mở rộng choĐếmký tự nếu được chỉ định. (Giống nhưSubring (soi kèo bóng đá truoctrantừBắt đầuchoĐếm).)

soi kèo bóng đá truoctran con ('bảng chữ cái', 3)Phabet

Subrtr ('Bảng chữ cái', 3, 2)PH

to_ascii(soi kèo bóng đá truoctran Text) →Text

to_ascii(soi kèo bóng đá truoctran Text, mã hóa tên) →Text

to_ascii(soi kèo bóng đá truoctran Text, mã hóa Số nguyên) →Text

Chuyển đổisoi kèo bóng đá truoctranđếnASCIITừ một mã hóa khác, có thể được xác định theo tên hoặc số. Nếu nhưmã hóađược bỏ qua, mã hóa cơ sở dữ liệu được giả định (trong thực tế là trường hợp hữu ích duy nhất). Việc chuyển đổi bao gồm chủ yếu là các điểm nhấn.Latin1, Latin2, Latin9Win1250Mã hóa. (XemUnaccentMô -đun cho giải pháp khác, linh hoạt hơn.)

to_ascii ('karél')Karel

TO_HEX(Số nguyên) →Text

TO_HEX(Bigint) →Text

Chuyển đổi số thành đại diện thập lục phân tương đương của nó.

TO_HEX (2147483647)7FFFFFFF

dịch(soi kèo bóng đá truoctran Text, từ Text, đến Text) →Text

Thay thế từng ký tự trongsoi kèo bóng đá truoctranphù hợp với một ký tự trongtừĐặt với ký tự tương ứng trongđếnĐặt. Nếu nhưtừdài hơnđến, Sự xuất hiện của các ký tự phụ trongtừbị xóa.

dịch ('12345', '143', 'ax')A2X5

unistr(Text) →Text

Đánh giá các ký tự Unicode đã thoát trong đối số. Ký tự unicode có thể được chỉ định là\xxxx(4 chữ số thập lục phân),\+XXXXXX(6 chữ số thập lục phân),\ Uxxxx(4 chữ số thập lục phân) hoặc\ uxxxxxxxxx(8 chữ số thập lục phân). Để chỉ định dấu gạch chéo ngược, hãy viết hai dấu gạch chéo ngược.

Nếu mã hóa máy chủ không phải là UTF-8, điểm mã Unicode được xác định bởi một trong các soi kèo bóng đá truoctran thoát này được chuyển đổi thành mã hóa máy chủ thực tế; một lỗi được báo cáo nếu điều đó là không thể.

Hàm này cung cấp một (không chuẩn) thay thế cho các hằng số soi kèo bóng đá truoctran với unicode thoát (xemPhần 4.1.2.3).

unistr ('d \ 0061t \ +000061')Data

unistr ('d \ u0061t \ u00000061')Data


TheConcat, Concat_WSĐịnh dạngCác hàm là variadic, do đó có thể truyền các giá trị được nối hoặc định dạng thành một mảng được đánh dấu bằngVariadicTừ khóa (xemPhần 38.5.6). Các yếu tố của mảng được đối xử như thể chúng là các đối số thông thường riêng biệt cho hàm.ConcatConcat_WSreturn null, nhưngĐịnh dạngcoi null là mảng không có phần tử.

Xem thêm hàm tổng hợpString_agginPhần 9,21và các chức năng chuyển đổi giữa các soi kèo bóng đá truoctran vàbyteagõ soi kèo bóng đá truoctranoBảng 9.13.

9.4.1.Định dạng #

hàmĐịnh dạngTạo định dạng đầu ra theo soi kèo bóng đá truoctran định dạng, theo kiểu tương tự như hàm CSprintf.

Định dạng(Định dạng Text[,Định dạng "bất kỳ"[, ...]])

Định dạnglà một soi kèo bóng đá truoctran định dạng chỉ định cách thức kết quả nên được định dạng. Văn bản trong soi kèo bóng đá truoctran định dạng được sao chép trực tiếp vào kết quả, ngoại trừ trong đóĐịnh dạng xác định định dạngđược sử dụng. Các nhà xác định định dạng đóng vai trò là người giữ chỗ trong soi kèo bóng đá truoctran, xác định cách các đối số chức năng tiếp theo nên được định dạng và chèn vào kết quả.Định dạngĐối số được chuyển đổi thành văn bản theo các quy tắc đầu ra thông thường cho loại dữ liệu của nó, sau đó được định dạng và chèn vào soi kèo bóng đá truoctran kết quả theo trình xác định định dạng (s).

Định dạng định dạng được giới thiệu bởi A%ký tự và có biểu mẫu

%[vị trí] [cờ] [Width]loại

Trường hợp các trường thành phần ở đâu:

vị trí(Tùy chọn)

Một soi kèo bóng đá truoctran của biểu mẫun$WHEREnlà chỉ mục của đối số để in. Chỉ mục 1 có nghĩa là đối số đầu tiên sauĐịnh dạng. Nếuvị tríbị bỏ qua, mặc định là sử dụng đối số tiếp theo theo trình tự.

cờ(Tùy chọn)

Tùy chọn bổ sung kiểm soát cách đầu ra của định dạng định dạng được định dạng. Hiện tại cờ được hỗ trợ duy nhất là dấu trừ (-) Điều này sẽ khiến đầu ra của định dạng được sử dụng lại. Điều này không có tác dụng trừ khiWidthTrường cũng được chỉ định.

Width(Tùy chọn)

Chỉ địnhTối thiểuSố lượng ký tự sẽ sử dụng để hiển thị đầu ra của định dạng định dạng. Đầu ra được đệm ở bên trái hoặc bên phải (tùy thuộc soi kèo bóng đá truoctrano-cờ) với khoảng trống khi cần thiết để lấp đầy chiều rộng. Một chiều rộng quá nhỏ không gây ra sự cắt ngắn của đầu ra, nhưng chỉ đơn giản là bị bỏ qua.*) để sử dụng đối số hàm tiếp theo làm chiều rộng; hoặc một soi kèo bóng đá truoctran của biểu mẫu*n$Để sử dụngnĐối số chức năng là chiều rộng.

Nếu chiều rộng đến từ một đối số hàm, đối số đó được tiêu thụ trước khi đối số được sử dụng cho giá trị của nhà xác định định dạng. Nếu đối số chiều rộng âm, kết quả sẽ được căn chỉnh (như thể-Cờ đã được chỉ định) trong một trường có độ dàiabs(Width).

loại(Yêu cầu)

Loại chuyển đổi định dạng để sử dụng để tạo ra đầu ra của trình xác định định dạng. Các loại sau được hỗ trợ:

  • SĐịnh dạng giá trị đối số dưới dạng soi kèo bóng đá truoctran đơn giản. Giá trị null được coi là một soi kèo bóng đá truoctran trống.

  • iXử lý giá trị đối số là định danh SQL, trích dẫn gấp đôi nếu cần thiết. Đó là một lỗi cho giá trị là null (tương đương vớiQUOTE_IDENT).

  • Ltrích dẫn giá trị đối số dưới dạng SQL theo nghĩa đen. Giá trị null được hiển thị dưới dạng soi kèo bóng đá truoctrannull, không có báo giá (tương đương vớiquote_nullable).

Ngoài các nhà xác định định dạng được mô tả ở trên, soi kèo bóng đá truoctran đặc biệt%%Có thể được sử dụng để xuất ra một chữ%ký tự.

Đây là một số ví dụ về chuyển đổi định dạng cơ bản:

Chọn định dạng ('Xin chào %S', 'Thế giới');Kết quả:Hello WorldChọn định dạng ('Kiểm tra %s, %s, %s, %%', 'một', 'hai', 'ba');Kết quả:Kiểm tra một, hai, ba, %Chọn Định dạng ('Chèn soi kèo bóng đá truoctrano %I Giá trị ( %L)', 'Foo Bar', E'o \ 'Reilly');Kết quả:Chèn soi kèo bóng đá truoctrano các giá trị "Foo Bar" ('O''Reilly')83628_83709Kết quả:Chèn soi kèo bóng đá truoctrano các giá trị vị trí ('C: \ Tệp chương trình')

Đây là các ví dụ sử dụngWidthTrường và-cờ:

Chọn định dạng ('|%10s |', 'foo');Kết quả:|       foo |Chọn định dạng ('|%-10s |', 'foo');Kết quả:| foo |Chọn định dạng ('|%*s |', 10, 'foo');Kết quả:|       foo |Chọn định dạng ('|%*s |', -10, 'foo');Kết quả:| foo |Chọn định dạng ('|%-*s |', 10, 'foo');Kết quả:| foo |Chọn định dạng ('|% -*s |', -10, 'foo');Kết quả:| foo |

Những ví dụ này hiển thị việc sử dụngvị tríTrường:

Chọn định dạng ('Kiểm tra %3 $ s, %2 $ s, %1 $ s', 'một', 'hai', 'ba');Kết quả:Kiểm tra ba, hai, mộtChọn định dạng ('|%*2 $ s |', 'foo', 10, 'bar');Kết quả:|       Bar |Chọn định dạng ('|%1 $*2 $ s |', 'foo', 10, 'Bar');Kết quả:|       foo |

Không giống như hàm C tiêu chuẩnSprintf, POSTGRESQL'SĐịnh dạnghàm cho phép định dạng định dạng có và không cóvị tríCác trường được trộn trong cùng một soi kèo bóng đá truoctran định dạng. Một định dạng định dạng mà không cóvị tríTrường luôn sử dụng đối số tiếp theo sau khi đối số cuối cùng được tiêu thụ. Ngoài ra,Định dạngHàm không yêu cầu tất cả các đối số chức năng được sử dụng trong soi kèo bóng đá truoctran định dạng. Ví dụ:

Chọn định dạng ('Kiểm tra %3 $ s, %2 $ s, %s', 'một', 'hai', 'ba');Kết quả:Kiểm tra ba, hai, ba

The%I%LĐịnh dạng định dạng đặc biệt hữu ích để xây dựng các câu lệnh SQL động một cách an toàn. Nhìn thấyVí dụ 43.1.

Gửi hiệu chỉnh

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.