이 섹션에서는 검사를위한 기능 및 연산자를 설명합니다 윈 토토 값을 조작합니다. 이 맥락에서 윈 토토에는 포함됩니다 모든 유형의 값캐릭터, 캐릭터 다양한및텍스트. 달리 언급되지 않는 한, 모든 기능 아래에 나열된 모든 유형에서 작업하지만 잠재력에주의하십시오. 사용시 자동 패딩의 효과캐릭터타입. 일반적으로 설명 된 기능 여기에서는 비 스트링 유형의 데이터에 대해서도 작동합니다. 먼저 윈 토토 표현에 대한 데이터. 일부 기능도 존재합니다 비트 스트링 유형에 대해 기본적으로.
SQL일부 윈 토토을 정의합니다 특정 키 단어가 오히려 특수 구문과 기능 쉼표는 인수를 분리하는 데 사용됩니다. 세부 사항은테이블 9-5. 이러한 기능은 정규를 사용하여 구현됩니다 기능 호출에 대한 구문. (보다테이블 9-6.)
표 9-5.SQL윈 토토 함수 및 연산자
기능 | 반환 유형 | 설명 | example | 결과 |
---|---|---|---|---|
String || String | 텍스트 | 윈 토토 연결 | 'post'|| 'gresql' | PostgreSQL |
bit_length (String) |
Integer | 윈 토토의 비트 수 | bit_length ( 'Jose') | 32 |
char_length (String)또는문자 _length (String) |
정수 | 윈 토토의 문자 수 | char_length ( 'Jose') | 4 |
변환 (String사용converion_name) |
텍스트 | 지정된 변환 이름을 사용하여 인코딩 변경. 전환은에 의해 정의 될 수 있습니다.생성 변환. 또한 사전 정의 된 것이 있습니다 변환 이름. 보다표 9-7사용 가능한 전환 이름. | convert ( 'postgresql'사용 ISO_8859_1_TO_UTF_8) | 'PostgreSQL'유니 코드에서 (UTF-8) 인코딩 |
Lower (String) |
텍스트 | 문자열을 소문자로 변환 | Lower ( 'Tom') | Tom |
Octet_length (String) |
Integer | 윈 토토의 바이트 수 | Octet_length ( 'Jose') | 4 |
오버레이 (String배치StringFromInteger[for정수]) |
텍스트 | 기판 교체 | 오버레이 ( 'txxxxas' 'hom'배치 4에서 4)에서 | Thomas |
위치 (SubstringinString) |
Integer | 지정된 서브 스트링의 위치 | 위치 ( 'om'in '도마') | 3 |
Substring (String[FromInteger] [forInteger]) |
텍스트 | Extract | 서브 스트링 (2의 '토마스' 3) | hom |
Substring (StringFrom패턴) |
텍스트 | POSIX 정규 표현식을 일치시키는 기판 추출 | 서브 스트링 ( '토마스' '... $') | mas |
Substring (Stringfrom패턴for탈출) |
텍스트 | 추출 기판 매칭SQL정규 표현 | 서브 스트링 ( '토마스'에서 '%#"O_A#"_'for '#') | OMA |
트림 ([주요 |
후행 | 둘 다] [캐릭터]
에서String) |
텍스트 | |캐릭터(공간에 의한 기본값) 시작/끝/양쪽 끝에서String. | 트림 (둘 다 'x' 'XTOMXX') | Tom |
어퍼 (String) |
텍스트 | 문자열을 대문자로 변환 | 어퍼 ( 'Tom') | Tom |
추가 문자열 조작 기능이 가능하며 있습니다 에 나열됨표 9-6. 그들 중 일부는 내부적으로 사용되어SQL-Standard String 함수에 나열테이블 9-5.
표 9-6. 기타 문자열 함수
기능 | 반환 유형 | 설명 | example | 결과 |
---|---|---|---|---|
ASCII (텍스트) |
정수 | ASCII코드 논쟁의 첫 성격 | ascii ( 'x') | 120 |
btrim (String
텍스트[,
캐릭터 텍스트]) |
텍스트 | 만 구성된 가장 긴 문자열을 제거하십시오 의 캐릭터캐릭터(a 기본적으로 공간)의 시작과 끝에서String. | btrim ( 'xyxtrimyyx', 'xy') | 트림 |
chr (Integer) |
텍스트 | 주어진 문자ASCII코드 | chr (65) | a |
Convert (String 텍스트,
[src_encoding 이름,]dest_encoding 이름) |
텍스트 | 문자열 변환dest_encoding. 원래 인코딩은입니다 지정src_encoding. 만약에src_encoding생략, 데이터베이스 인코딩이 가정됩니다. | convert ( 'text_in_unicode', '유니 코드', 'latin1') | text_in_unicode표현 ISO 8859-1 인코딩 |
decode (String 텍스트,
타입 텍스트) |
BYTEA | 이진 데이터를String이전에 인코딩Encode . 매개 변수 유형입니다
와 동일Encode . |
decode ( 'mtizaae =', 'base64') | 123 \ 000 \ 001 |
Encode (데이터
BYTEA, 타입 텍스트) |
텍스트 | 이진 데이터 인코딩ASCII-전적으로 표현. 지원 유형은 다음과 같습니다.Base64, hex, 탈출. | Encode ( '123 \\ 000 \\ 001', 'base64') | mtizaae = |
Initcap (텍스트) |
텍스트 | 각 단어의 첫 글자를 대문자로 변환합니다 그리고 나머지는 소문자입니다. 단어는의 시퀀스입니다 영숫자 문자는 비 alphanumeric으로 분리됩니다 캐릭터. | InitCap ( 'Hi Thomas') | Hi Thomas |
길이 (String 텍스트) |
Integer | 문자 수String. | 길이 ( 'Jose') | 4 |
LPAD (String
텍스트, 길이 Integer[, 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문자열. 인용문은입니다 필요한 경우에만 추가하십시오 (즉, 문자열에 포함 된 경우 비 식별 자 문자 또는 사례 전달). 임베디드 따옴표가 제대로 두 배가되었습니다. | quote_ident ( 'foo bar') | "Foo Bar" |
QUOTE_LITERAL (String텍스트) |
텍스트 | 주어진 문자열을 반환하여 의 문자열 문자SQL문자열. 임베디드 따옴표 그리고 백 슬래시는 제대로 두 배가되었습니다. | quote_literal ( 'o \'reilly ') | 'O''Reilly' |
반복 (String 텍스트,
번호 Integer) |
텍스트 | 반복String지정된번호of Times | 반복 ( 'PG', 4) | PGPGPGPG |
교체 (String 텍스트,
From 텍스트, to
텍스트) |
텍스트 | Stringof substringFromwith substringto. | 교체 ( 'abcdefabcdef', 'cd', '더블 엑스') | abxxefabxxef |
RPAD (String
텍스트, 길이 정수[, fill
텍스트]) |
텍스트 | 채우기Stringto 길이길이문자fill(공간에 의한 기본). 인 경우Stringis 이미 더 길다길이그런 다음 잘 렸습니다. | rpad ( 'hi', 5, 'xy') | hixyx |
rtrim (String
텍스트[,
캐릭터 텍스트]) |
텍스트 | 문자 만 포함 된 가장 긴 문자열을 제거합니다 에서캐릭터(공간에 의한 기본값) 끝까지String. | rtrim ( 'trimxxxx', 'x') | 트림 |
split_part (String 텍스트,
Delimiter 텍스트, 필드
정수) |
텍스트 | 분할StringonDelimiter주어진 필드를 반환하십시오 (하나에서 계산) | split_part ( 'abc ~@~ def ~@~ ghi', '~@~', 2) | def |
strpos (String, Substring) |
int | 지정된 서브 스트링의 위치 (동일위치 (SubstringinString)그러나 주목하십시오 역전 된 인수 명령) | strpos ( 'high', 'ig') | 2 |
Substr (String, From[, count]) |
텍스트 | 기판 추출 (동일Substring (StringFromFromforcount)) | 서브 스트 ( '알파벳', 3, 2) | PH |
TO_ASCII (텍스트[, 인코딩]) |
텍스트 | 변환텍스트toASCII다른 사람 부호화[A] | to_ascii ( 'karel') | Karel |
TO_HEX (번호 정수또는bigint) |
텍스트 | Convert번호그것의 동등한 16 진수 표현 | TO_HEX (2147483647) | 7fffffff |
번역 (String 텍스트,
From 텍스트, to
텍스트) |
텍스트 | 모든 캐릭터StringFrom세트는 의 해당 문자toset. | 번역 ( '12345', '14', '도끼') | A23X5 |
참고 : a.the TO_ASCII 함수 지원
에서 전환latin1, latin2, latin9및Win1250인코딩 만. |
표 9-7. 내장 변환
변환 이름[A] | 소스 인코딩 | 대상 인코딩 |
---|---|---|
ascii_to_mic | SQL_ASCII | mule_internal |
ascii_to_utf_8 | SQL_ASCII | 유니 코드 |
big5_to_euc_tw | big5 | EUC_TW |
big5_to_mic | big5 | mule_internal |
big5_to_utf_8 | big5 | 유니 코드 |
EUC_CN_TO_MIC | EUC_CN | mule_internal |
euc_cn_to_utf_8 | EUC_CN | 유니 코드 |
EUC_JP_TO_MIC | EUC_JP | mule_internal |
euc_jp_to_sjis | EUC_JP | SJIS |
euc_jp_to_utf_8 | EUC_JP | 유니 코드 |
EUC_KR_TO_MIC | EUC_KR | mule_internal |
euc_kr_to_utf_8 | EUC_KR | 유니 코드 |
euc_tw_to_big5 | EUC_TW | big5 |
euc_tw_to_mic | EUC_TW | mule_internal |
euc_tw_to_utf_8 | EUC_TW | 유니 코드 |
GB18030_TO_UTF_8 | GB18030 | 유니 코드 |
gbk_to_utf_8 | GBK | 유니 코드 |
ISO_8859_10_TO_UTF_8 | latin6 | 유니 코드 |
ISO_8859_13_TO_UTF_8 | latin7 | 유니 코드 |
ISO_8859_14_TO_UTF_8 | latin8 | 유니 코드 |
ISO_8859_15_TO_UTF_8 | latin9 | 유니 코드 |
ISO_8859_16_TO_UTF_8 | latin10 | 유니 코드 |
ISO_8859_1_TO_MIC | latin1 | mule_internal |
ISO_8859_1_TO_UTF_8 | latin1 | 유니 코드 |
ISO_8859_2_TO_MIC | latin2 | mule_internal |
ISO_8859_2_TO_UTF_8 | latin2 | 유니 코드 |
iso_8859_2_to_windows_1250 | latin2 | Win1250 |
ISO_8859_3_TO_MIC | latin3 | mule_internal |
ISO_8859_3_TO_UTF_8 | latin3 | 유니 코드 |
ISO_8859_4_TO_MIC | latin4 | mule_internal |
ISO_8859_4_TO_UTF_8 | latin4 | 유니 코드 |
ISO_8859_5_TO_KOI8_R | ISO_8859_5 | KOI8 |
ISO_8859_5_TO_MIC | ISO_8859_5 | mule_internal |
ISO_8859_5_TO_UTF_8 | ISO_8859_5 | 유니 코드 |
iso_8859_5_to_windows_1251 | ISO_8859_5 | WIN |
iso_8859_5_to_windows_866 | ISO_8859_5 | alt |
iso_8859_6_to_utf_8 | ISO_8859_6 | 유니 코드 |
ISO_8859_7_TO_UTF_8 | ISO_8859_7 | 유니 코드 |
ISO_8859_8_TO_UTF_8 | ISO_8859_8 | 유니 코드 |
ISO_8859_9_TO_UTF_8 | latin5 | 유니 코드 |
johab_to_utf_8 | Johab | 유니 코드 |
KOI8_R_TO_SO_ISO_8859_5 | KOI8 | ISO_8859_5 |
KOI8_R_TO_MIC | KOI8 | mule_internal |
KOI8_R_TO_UTF_8 | KOI8 | 유니 코드 |
KOI8_R_TO_WINDOWS_1251 | KOI8 | WIN |
KOI8_R_TO_WINDOWS_866 | KOI8 | alt |
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 | KOI8 |
MIC_TO_SJIS | mule_internal | SJIS |
MIC_TO_WINDOWS_1250 | mule_internal | Win1250 |
mic_to_windows_1251 | mule_internal | WIN |
MIC_TO_WINDOWS_866 | mule_internal | alt |
sjis_to_euc_jp | SJIS | EUC_JP |
49799_49812 | SJIS | mule_internal |
sjis_to_utf_8 | SJIS | 유니 코드 |
TCVN_TO_UTF_8 | TCVN | 유니 코드 |
uhc_to_utf_8 | UHC | 유니 코드 |
UTF_8_TO_ASCII | 유니 코드 | SQL_ASCII |
UTF_8_TO_BIG5 | 유니 코드 | big5 |
UTF_8_TO_EUC_CN | 유니 코드 | EUC_CN |
UTF_8_TO_EUC_JP | 유니 코드 | EUC_JP |
UTF_8_TO_EUC_KR | 유니 코드 | EUC_KR |
UTF_8_TO_EUC_TW | 유니 코드 | EUC_TW |
UTF_8_TO_GB18030 | 유니 코드 | GB18030 |
UTF_8_TO_GBK | 유니 코드 | gbk |
UTF_8_TO_ISO_8859_1 | 유니 코드 | latin1 |
UTF_8_TO_ISO_8859_10 | 유니 코드 | latin6 |
UTF_8_TO_ISO_8859_13 | 유니 코드 | latin7 |
UTF_8_TO_ISO_8859_14 | 유니 코드 | latin8 |
UTF_8_TO_ISO_8859_15 | 유니 코드 | latin9 |
UTF_8_TO_ISO_8859_16 | 유니 코드 | latin10 |
UTF_8_TO_ISO_8859_2 | 유니 코드 | latin2 |
UTF_8_TO_ISO_8859_3 | 유니 코드 | latin3 |
UTF_8_TO_ISO_8859_4 | 유니 코드 | latin4 |
UTF_8_TO_ISO_8859_5 | 유니 코드 | ISO_8859_5 |
UTF_8_TO_ISO_8859_6 | 유니 코드 | ISO_8859_6 |
UTF_8_TO_ISO_8859_7 | 유니 코드 | ISO_8859_7 |
UTF_8_TO_ISO_8859_8 | 유니 코드 | ISO_8859_8 |
UTF_8_TO_ISO_8859_9 | 유니 코드 | latin5 |
UTF_8_TO_JOHAB | 유니 코드 | Johab |
UTF_8_TO_KOI8_R | 유니 코드 | KOI8 |
UTF_8_TO_SJIS | 유니 코드 | SJIS |
UTF_8_TO_TCVN | 유니 코드 | TCVN |
UTF_8_TO_UHC | 유니 코드 | UHC |
UTF_8_TO_WINDOWS_1250 | 유니 코드 | Win1250 |
UTF_8_TO_WINDOWS_1251 | 유니 코드 | WIN |
UTF_8_TO_WINDOWS_1256 | 유니 코드 | Win1256 |
UTF_8_TO_WINDOWS_866 | 유니 코드 | alt |
UTF_8_TO_WINDOWS_874 | 유니 코드 | Win874 |
Windows_1250_TO_SO_ISO_8859_2 | Win1250 | latin2 |
Windows_1250_TO_MIC | Win1250 | mule_internal |
Windows_1250_TO_UTF_8 | Win1250 | 유니 코드 |
Windows_1251_TO_SO_ISO_8859_5 | WIN | ISO_8859_5 |
Windows_1251_TO_KOI8_R | WIN | KOI8 |
Windows_1251_TO_MIC | WIN | mule_internal |
Windows_1251_TO_UTF_8 | WIN | 유니 코드 |
Windows_1251_TO_WINDOWS_866 | WIN | alt |
Windows_1256_TO_UTF_8 | Win1256 | 유니 코드 |
Windows_866_TO_SO_ISO_8859_5 | alt | ISO_8859_5 |
Windows_866_TO_KOI8_R | alt | KOI8 |
Windows_866_TO_MIC | alt | mule_internal |
Windows_866_TO_UTF_8 | alt | 유니 코드 |
Windows_866_TO_WINDOWS_1251 | alt | WIN |
Windows_874_TO_UTF_8 | Win874 | 유니 코드 |
참고 : a.변환 이름은 표준 명명 체계를 따릅니다 소스의 공식 이름 비 알파럼 성 문자는 밑줄로 대체되었습니다 뒤 이어_to_동일하게 처리 된 대상 인코딩 이름. 따라서 이름은 관습 인코딩에서 벗어날 수 있습니다 이름. |