이 섹션에서는 검사를위한 기능 및 연산자를 설명합니다 토토 사이트 순위 값을 조작합니다. 이 맥락에서 토토 사이트 순위에는 포함됩니다 유형의 값캐릭터, 캐릭터 다양한및텍스트. 달리 명시되지 않는 한, 아래 나열된 모든 기능은 이러한 모든 유형이지만 자동의 잠재적 영향에주의하십시오. 우주 패딩을 사용할 때캐릭터타입. 비트 스트링에는 일부 기능도 기본적으로 존재합니다 유형.
SQL일부 토토 사이트 순위을 정의합니다 쉼표가 아닌 키워드를 사용하여 분리하는 기능 논쟁. 세부 사항은표 9-5. postgresql도 제공합니다 일반 기능을 사용하는 이러한 기능의 버전 호출 구문 (참조테이블 9-6).
참고 :전postgresql8.3,이 기능은 그럴 것입니다 여러 비 스트링 데이터 유형의 값을 조용히 받아들입니다 글쎄, 그들로부터의 암묵적 강요의 존재로 인해 데이터 유형텍스트. 그 강요 그들은 자주 놀랍게 발생했기 때문에 제거되었습니다 행동. 그러나 토토 사이트 순위 연결 연산자 (||)는 여전히 비 스트링 입력을 허용합니다. 표시된 것처럼 적어도 하나의 입력이 토토 사이트 순위 유형 인 한 안에테이블 9-5. 다른 경우에는 명시 적 강요 삽입텍스트복제 해야하는 경우 이전 행동.
표 9-5.SQL토토 사이트 순위 함수 및 연산자
기능 | 반환 유형 | 설명 | example | 결과 |
---|---|---|---|---|
String || String | 텍스트 | 토토 사이트 순위 연결 | 'post'|| 'gresql' | PostgreSQL |
String || 비 스트링또는비 스트링 || String | 텍스트 | 하나의 비 스트링 입력과의 토토 사이트 순위 연결 | '값 :'|| 42 | 값 : 42 |
bit_length (String) |
int | 토토 사이트 순위의 비트 수 | bit_length ( 'Jose') | 32 |
char_length (String)또는character_length (String) |
int | 토토 사이트 순위의 문자 수 | char_length ( 'Jose') | 4 |
Lower (String) |
텍스트 | 토토 사이트 순위을 소문자로 변환 | Lower ( 'Tom') | Tom |
Octet_length (String) |
int | 토토 사이트 순위의 바이트 수 | Octet_length ( 'Jose') | 4 |
오버레이 (String배치StringFromint[forint]) |
텍스트 | 기판 교체 | 오버레이 ( 'txxxxas' 'hom'배치 4에서 4)에서 | Thomas |
위치 (SubstringinString) |
int | 지정된 서브 스트링의 위치 | 위치 ( 'om'in '도마') | 3 |
Substring (String[Fromint] [forint]) |
텍스트 | Extract String | 서브 스트링 (2의 '토마스' 3) | hom |
Substring (StringFrom패턴) |
텍스트 | POSIX 정규 표현식을 일치시키는 기판 추출. 보다PostgreSQL : 문서 : 8.4 : 토토 캔 매칭패턴 매칭에 대한 자세한 정보. | 서브 스트링 ( '토마스' '... $') | mas |
Substring (StringFrom패턴for탈출) |
텍스트 | 추출 기판 매칭SQL정규 표현. 보다섹션 9.7더 많은 것 패턴 매칭에 대한 정보. | 서브 스트링 ( '토마스' '%#"O_A#"_'for '#') | OMA |
트림 ([주요 |
후행 | 둘 다] [캐릭터]
에서String) |
텍스트 | |캐릭터(공간에 의한 기본값) 시작/끝/양쪽 끝에서String | 트림 (둘 다 'x' 'XTOMXX') | Tom |
어퍼 (String) |
텍스트 | 토토 사이트 순위을 대문자로 변환 | 어퍼 ( 'Tom') | Tom |
추가 문자열 조작 기능이 가능하며 있습니다 에 나열됨표 9-6. 그들 중 일부는 내부적으로 사용되어SQL-주차 토토 사이트 순위 함수에 나열테이블 9-5.
표 9-6. 기타 문자열 함수
기능 | 반환 유형 | 설명 | example | 결과 |
---|---|---|---|---|
ASCII (String) |
int | ASCII코드 논쟁의 첫 번째 성격. 을 위한UTF8유니 코드 코드 포인트를 반환합니다 캐릭터의. 다른 멀티 바이트 인코딩의 경우 인수는이어야합니다.ASCII문자. | ascii ( 'x') | 120 |
btrim (String
텍스트[,
문자 텍스트]) |
텍스트 | 만 구성된 가장 긴 문자열을 제거하십시오 의 캐릭터캐릭터(a 기본적으로 공간)의 시작과 끝에서String | btrim ( 'xyxtrimyyx', 'xy') | 트림 |
chr (int) |
텍스트 | 지정된 코드가있는 문자. 을 위한UTF8인수는 a로 취급됩니다 유니 코드 코드 포인트. 다른 멀티 바이트 인코딩의 경우 인수는를 지정해야합니다.ASCII문자. 널 (0) 텍스트 데이터 유형은 할 수 없기 때문에 문자는 허용되지 않습니다 그런 바이트를 저장하십시오. | chr (65) | a |
Convert (String BYTEA,
src_encoding 이름, dest_encoding 이름) |
BYTEA | 문자열 변환dest_encoding. 원래 인코딩은입니다 지정src_encoding. 그만큼String이에서 유효해야합니다 부호화. 전환은에 의해 정의 될 수 있습니다.변환 생성. 또한 일부가 있습니다 사전 정의 된 전환. 보다표 9-7사용 가능한 전환. | convert ( 'text_in_utf8', 'utf8', 'latin1') | text_in_utf8표현 라틴어 1 인코딩 (ISO 8859-1) |
Convert_from (String BYTEA,
src_encoding 이름) |
텍스트 | 문자열을 데이터베이스 인코딩으로 변환합니다. 원본 인코딩은에 의해 지정됩니다.src_encoding. 그만큼String이에 유효해야합니다 부호화. | convert_from ( 'text_in_utf8', 'UTF8') | text_in_utf8현재 데이터베이스 인코딩 |
convert_to (String 텍스트,
dest_encoding 이름) |
BYTEA | 문자열 변환dest_encoding. | convert_to ( '일부 텍스트', 'UTF8') | 일부 텍스트UTF8 인코딩 |
decode (String 텍스트,
형식 텍스트) |
BYTEA | 텍스트 표현에서 바이너리 데이터를 디코딩하여String. 옵션형식Encode . |
decode ( 'mtizaae =', 'base64') | 123 \ 000 \ 001 |
Encode (데이터
BYTEA, 형식 텍스트) |
텍스트 | 이진 데이터를 텍스트 표현으로 인코딩합니다. 지원되는 형식은 다음과 같습니다.Base64, hex, 탈출. 탈출제로 바이트와 비트 세트 바이트를 8 월으로 변환합니다 시퀀스 (\NNN) 및 두 배의 백 슬래시. | Encode (E'123 \\ 000 \\ 001 ', 'base64') | mtizaae = |
Initcap (String) |
텍스트 | 각 단어의 첫 글자를 대문자로 변환합니다 그리고 나머지는 소문자입니다. 단어는의 시퀀스입니다 영숫자 문자는 비 alphanumeric으로 분리됩니다 캐릭터. | InitCap ( 'Hi Thomas') | Hi Thomas |
길이 (String) |
int | 문자 수String | 길이 ( 'Jose') | 4 |
길이 (StringBYTEA,
인코딩 이름) |
int | 문자 수String주어진인코딩. 그만큼String이것에 유효해야합니다 부호화. | 길이 ( 'Jose', 'utf8') | 4 |
LPAD (String
텍스트, 길이 int[, fill
텍스트]) |
텍스트 | 채우기StringTO 길이길이선불로 캐릭터fill(공간 기본적으로). 인 경우StringIS 이미 더 길다길이그런 다음 (오른쪽에) 잘린 것입니다. | lpad ( 'hi', 5, 'xy') | xyxhi |
ltrim (String
텍스트[,
캐릭터 텍스트]) |
텍스트 | 문자 만 포함 된 가장 긴 문자열을 제거합니다 에서캐릭터(공간 기본값) 시작부터String | ltrim ( 'zzzytrim', 'xyz') | 트림 |
MD5 (String) |
텍스트 | MD5 해시 계산String, 결과를 반환합니다 16 진수 | MD5 ( 'ABC') | 900150983CD24FB0 D6963F7D28E17F72 |
pg_client_encoding () |
이름 | 현재 클라이언트 인코딩 이름 | pg_client_encoding () | SQL_ASCII |
QUOTE_INDEN (String 텍스트) |
텍스트 | 주어진 문자열을 반환하여 의 식별자SQL문자열. 인용문은입니다 필요한 경우에만 추가하십시오 (즉, 문자열에 포함 된 경우 비 식별 자 문자 또는 사례 전달). 내장 된 인용문이 제대로 두 배가됩니다. 참조 참조예 38-1. | quote_ident ( 'foo bar') | "Foo Bar" |
quote_literal (String 텍스트) |
텍스트 | 주어진 문자열을 반환하여
의 문자열 문자SQL문자열. 내장
단일 크기와 백 슬래시가 제대로 두 배가됩니다. 메모
저것quote_literal 반환
널 입력의 널; 인수가 무효 일 수 있다면QUOTE_NULLABLE 종종입니다
더 적합합니다. 참조 참조예제
38-1. |
quote_literal ( 'o \'reilly ') | 'O''Reilly' |
quote_literal (value Anylement) |
텍스트 | 주어진 값을 텍스트로 강요 한 다음 그것을 오자. 내장 된 단일 크기와 백 슬래시가 있습니다 제대로 두 배가되었습니다. | quote_literal (42.5) | '42 .5 ' |
QUOTE_NULLABLE (String 텍스트) |
텍스트 | 의 문자열 문자SQL문자열; 또는 만약 인수는 무효입니다. 반환NULL. 내장 단일 크기와 백 슬래시가 올바르게 있습니다 두 배. 참조 참조예제 38-1. | quote_nullable (null) | NULL |
QUOTE_NULLABLE (value Anylement) |
텍스트 | 주어진 값을 텍스트로 강요 한 다음이를 오자; 또는 인수가 무인 상태 인 경우 retoyNULL. 내장 단일 크기 및 백 슬래시가 제대로 두 배가되었습니다. | QUOTE_NULLABLE (42.5) | '42 .5 ' |
regexp_matches (String 텍스트,
패턴 텍스트[,플래그
텍스트]) |
텍스트 설정 [] | 캡처 된 모든 하위 문자를 반환합니다 에 대한 posix 정규 표현과 일치String. 보다섹션 9.7.3자세한 내용은 | regexp_matches ( 'foobarbequebaz', '(bar) (beque)') | bar, beque |
regexp_replace (String 텍스트,
패턴 텍스트, 교체
텍스트[,플래그 텍스트]) |
텍스트 | POSIX 규칙과 일치하는 하위 문자열 교체 표현. 보다섹션 9.7.3자세한 내용은 | regexp_replace ( 'Thomas', '. [mn] a.', 'm') | THM |
regexp_split_to_array (String 텍스트,
패턴 텍스트[,플래그
텍스트]) |
텍스트 [] | 분할Stringposix 사용 구분자로서 정규 표현. 보다섹션 9.7.3자세한 내용은 | regexp_split_to_array ( 'hello 세계 ', e'\\ s+') | hello, world |
regexp_split_to_table (String 텍스트,
패턴 텍스트[,플래그
텍스트]) |
텍스트 설정 | 분할Stringposix 사용 구분자로서 정규 표현. 보다섹션 9.7.3자세한 내용은 | regexp_split_to_table ( 'hello 세계 ', e'\\ s+') |
hello
World (2 줄) |
반복 (String 텍스트,
번호 int) |
텍스트 | 반복String지정된번호of Times | 반복 ( 'PG', 4) | PGPGPGPG |
교체 (String 텍스트,
From 텍스트, to
텍스트) |
텍스트 | Stringof substringfromwith substringto | 교체 ( 'abcdefabcdef', 'cd', '더블 엑스') | abxxefabxxef |
RPAD (String
텍스트, 길이 int[, fill
텍스트]) |
텍스트 | 채우기Stringto 길이길이문자fill(공간에 의한 기본). 인 경우Stringis 이미 더 길다길이그런 다음 잘 렸습니다. | rpad ( 'hi', 5, 'xy') | hixyx |
rtrim (String
텍스트[,
문자 텍스트]) |
텍스트 | 문자 만 포함 된 가장 긴 문자열을 제거합니다 에서문자(공간에 의한 기본값) 끝까지String | rtrim ( 'trimxxxx', 'x') | 트림 |
split_part (String 텍스트,
Delimiter 텍스트, 필드
int) |
텍스트 | 분할StringonDelimiter주어진 필드를 반환하십시오 (하나에서 계산) | split_part ( 'abc ~@~ def ~@~ ghi', '~@~', 2) | def |
strpos (String, Substring) |
int | 지정된 서브 스트링의 위치 (동일위치 (SubstringinString), 그러나 주목하십시오 역전 된 인수 명령) | strpos ( 'high', 'ig') | 2 |
Substr (String, From[, count]) |
텍스트 | 추출 하부 스트링 (동일Substring (StringFromFromforcount)) | Substr ( '알파벳', 3, 2) | PH |
TO_ASCII (String 텍스트[, 인코딩 텍스트]) |
텍스트 | 변환StringtoASCII다른 것 인코딩 (전환 만 지원latin1, latin2, latin9및Win1250인코딩) | to_ascii ( 'karel') | Karel |
TO_HEX (번호 int또는bigint) |
텍스트 | 변환번호동등한 16 진수 표현 | TO_HEX (2147483647) | 7fffffff |
번역 (String 텍스트,
From 텍스트, to
텍스트) |
텍스트 | 모든 캐릭터StringFrom세트는 의 해당 문자toSET | 번역 ( '12345', '14', '도끼') | A23X5 |
표 9-7. 내장 변환
변환 이름[A] | 소스 인코딩 | 대상 인코딩 |
---|---|---|
ascii_to_mic | SQL_ASCII | mule_internal |
ascii_to_utf8 | SQL_ASCII | UTF8 |
big5_to_euc_tw | big5 | EUC_TW |
big5_to_mic | big5 | mule_internal |
big5_to_utf8 | big5 | UTF8 |
EUC_CN_TO_MIC | EUC_CN | mule_internal |
euc_cn_to_utf8 | EUC_CN | UTF8 |
euc_jp_to_mic | EUC_JP | mule_internal |
euc_jp_to_sjis | EUC_JP | SJIS |
euc_jp_to_utf8 | EUC_JP | UTF8 |
EUC_KR_TO_MIC | EUC_KR | mule_internal |
euc_kr_to_utf8 | EUC_KR | UTF8 |
EUC_TW_TO_BIG5 | EUC_TW | big5 |
euc_tw_to_mic | euc_tw | mule_internal |
euc_tw_to_utf8 | EUC_TW | UTF8 |
GB18030_TO_UTF8 | GB18030 | UTF8 |
gbk_to_utf8 | gbk | UTF8 |
ISO_8859_10_TO_UTF8 | latin6 | UTF8 |
ISO_8859_13_TO_UTF8 | latin7 | UTF8 |
ISO_8859_14_TO_UTF8 | latin8 | UTF8 |
ISO_8859_15_TO_UTF8 | latin9 | UTF8 |
ISO_8859_16_TO_UTF8 | latin10 | UTF8 |
ISO_8859_1_TO_MIC | latin1 | mule_internal |
ISO_8859_1_TO_UTF8 | latin1 | UTF8 |
ISO_8859_2_TO_MIC | latin2 | mule_internal |
ISO_8859_2_TO_UTF8 | latin2 | UTF8 |
iso_8859_2_to_windows_1250 | latin2 | Win1250 |
ISO_8859_3_TO_MIC | latin3 | mule_internal |
ISO_8859_3_TO_UTF8 | latin3 | UTF8 |
ISO_8859_4_TO_MIC | latin4 | mule_internal |
ISO_8859_4_TO_UTF8 | latin4 | UTF8 |
ISO_8859_5_TO_KOI8_R | ISO_8859_5 | Koi8R |
ISO_8859_5_TO_MIC | ISO_8859_5 | mule_internal |
ISO_8859_5_TO_UTF8 | ISO_8859_5 | UTF8 |
iso_8859_5_to_windows_1251 | ISO_8859_5 | Win1251 |
iso_8859_5_to_windows_866 | ISO_8859_5 | Win866 |
ISO_8859_6_TO_UTF8 | ISO_8859_6 | UTF8 |
ISO_8859_7_TO_UTF8 | ISO_8859_7 | UTF8 |
ISO_8859_8_TO_UTF8 | ISO_8859_8 | UTF8 |
ISO_8859_9_TO_UTF8 | latin5 | UTF8 |
johab_to_utf8 | Johab | UTF8 |
KOI8_R_TO_ISO_8859_5 | Koi8R | ISO_8859_5 |
KOI8_R_TO_MIC | KOI8R | mule_internal |
KOI8_R_TO_UTF8 | Koi8R | UTF8 |
KOI8_R_TO_WINDOWS_1251 | Koi8R | Win1251 |
KOI8_R_TO_WINDOWS_866 | KOI8R | Win866 |
KOI8_U_TO_UTF8 | Koi8U | UTF8 |
MIC_TO_ASCII | mule_internal | SQL_ASCII |
MIC_TO_BIG5 | mule_internal | big5 |
MIC_TO_EUC_CN | mule_internal | EUC_CN |
MIC_TO_EUC_JP | mule_internal | EUC_JP |
MIC_TO_EUC_KR | mule_internal | EUC_KR |
MIC_TO_EUC_TW | mule_internal | EUC_TW |
MIC_TO_ISO_8859_1 | mule_internal | latin1 |
MIC_TO_ISO_8859_2 | mule_internal | latin2 |
MIC_TO_ISO_8859_3 | mule_internal | latin3 |
MIC_TO_ISO_8859_4 | mule_internal | latin4 |
MIC_TO_ISO_8859_5 | mule_internal | ISO_8859_5 |
MIC_TO_KOI8_R | mule_internal | KOI8R |
MIC_TO_SJIS | mule_internal | SJIS |
MIC_TO_WINDOWS_1250 | mule_internal | Win1250 |
MIC_TO_WINDOWS_1251 | mule_internal | Win1251 |
MIC_TO_WINDOWS_866 | mule_internal | Win866 |
SJIS_TO_EUC_JP | SJIS | euc_jp |
sjis_to_mic | sjis | mule_internal |
sjis_to_utf8 | SJIS | UTF8 |
TCVN_TO_UTF8 | Win1258 | UTF8 |
uhc_to_utf8 | UHC | UTF8 |
UTF8_TO_ASCII | UTF8 | SQL_ASCII |
UTF8_TO_BIG5 | UTF8 | big5 |
UTF8_TO_EUC_CN | UTF8 | EUC_CN |
UTF8_TO_EUC_JP | UTF8 | EUC_JP |
UTF8_TO_EUC_KR | UTF8 | EUC_KR |
UTF8_TO_EUC_TW | UTF8 | EUC_TW |
UTF8_TO_GB18030 | UTF8 | GB18030 |
UTF8_TO_GBK | UTF8 | GBK |
UTF8_TO_ISO_8859_1 | UTF8 | latin1 |
UTF8_TO_ISO_8859_10 | UTF8 | latin6 |
UTF8_TO_ISO_8859_13 | UTF8 | latin7 |
UTF8_TO_ISO_8859_14 | UTF8 | latin8 |
UTF8_TO_ISO_8859_15 | UTF8 | latin9 |
UTF8_TO_ISO_8859_16 | UTF8 | latin10 |
UTF8_TO_ISO_8859_2 | UTF8 | latin2 |
UTF8_TO_ISO_8859_3 | UTF8 | latin3 |
UTF8_TO_ISO_8859_4 | UTF8 | latin4 |
UTF8_TO_ISO_8859_5 | UTF8 | ISO_8859_5 |
UTF8_TO_ISO_8859_6 | UTF8 | ISO_8859_6 |
UTF8_TO_ISO_8859_7 | UTF8 | ISO_8859_7 |
UTF8_TO_ISO_8859_8 | UTF8 | ISO_8859_8 |
UTF8_TO_ISO_8859_9 | UTF8 | latin5 |
UTF8_TO_JOHAB | UTF8 | Johab |
UTF8_TO_KOI8_R | UTF8 | Koi8R |
UTF8_TO_KOI8_U | UTF8 | Koi8U |
UTF8_TO_SJIS | UTF8 | SJIS |
UTF8_TO_TCVN | UTF8 | Win1258 |
UTF8_TO_UHC | UTF8 | UHC |
UTF8_TO_WINDOWS_1250 | UTF8 | Win1250 |
UTF8_TO_WINDOWS_1251 | UTF8 | Win1251 |
UTF8_TO_WINDOWS_1252 | UTF8 | Win1252 |
UTF8_TO_WINDOWS_1253 | UTF8 | Win1253 |
UTF8_TO_WINDOWS_1254 | UTF8 | Win1254 |
UTF8_TO_WINDOWS_1255 | UTF8 | Win1255 |
UTF8_TO_WINDOWS_1256 | UTF8 | Win1256 |
UTF8_TO_WINDOWS_1257 | UTF8 | Win1257 |
UTF8_TO_WINDOWS_866 | UTF8 | Win866 |
UTF8_TO_WINDOWS_874 | UTF8 | Win874 |
Windows_1250_TO_SO_ISO_8859_2 | Win1250 | latin2 |
Windows_1250_TO_MIC | Win1250 | mule_internal |
Windows_1250_TO_UTF8 | Win1250 | UTF8 |
Windows_1251_TO_SO_ISO_8859_5 | Win1251 | ISO_8859_5 |
Windows_1251_TO_KOI8_R | Win1251 | Koi8R |
Windows_1251_TO_MIC | Win1251 | mule_internal |
Windows_1251_TO_UTF8 | Win1251 | UTF8 |
Windows_1251_TO_WINDOWS_866 | Win1251 | Win866 |
Windows_1252_TO_UTF8 | Win1252 | UTF8 |
Windows_1256_TO_UTF8 | Win1256 | UTF8 |
Windows_866_TO_SO_8859_5 | Win866 | ISO_8859_5 |
Windows_866_TO_KOI8_R | Win866 | Koi8R |
Windows_866_TO_MIC | Win866 | mule_internal |
Windows_866_TO_UTF8 | Win866 | UTF8 |
windows_866_to_windows_1251 | Win866 | WIN |
Windows_874_TO_UTF8 | Win874 | UTF8 |
EUC_JIS_2004_TO_UTF8 | euc_jis_2004 | UTF8 |
UTF8_TO_EUC_JIS_2004 | UTF8 | EUC_JIS_2004 |
shift_jis_2004_to_utf8 | Shift_jis_2004 | UTF8 |
UTF8_TO_SHIFT_JIS_2004 | UTF8 | shift_jis_2004 |
EUC_JIS_2004_TO_SHIFT_JIS_2004 | EUC_JIS_2004 | shift_jis_2004 |
shift_jis_2004_to_euc_jis_2004 | shift_jis_2004 | EUC_JIS_2004 |
참고 : a.the 변환 이름은 표준 명명 체계를 따릅니다 소스의 공식 이름 밑줄로 대체되지 않은 비 성격 문자, 뒤 이어_to_유사하게 처리 된 대상 인코딩 이름. 그러므로, 이름은 관습 인코딩에서 벗어날 수 있습니다 이름. |