문자열 함수

다음 표에서는 문자 문자열을 조작하는 함수에 대해 설명합니다.

참고: Netezza Performance Server SQL 문자열 비교는 후행 공백을 무시합니다.
표 1. 문자 함수
이름 설명
ascii(s) 지정된 문자열에서 첫 번째 문자의 숫자 ASCII 값을 리턴합니다. 이 함수의 NCHAR 버전인 경우에는 unicode(s)의 내용을 참조하십시오.
btrim(s) 지정된 문자열의 양쪽 끝에서 공백을 트리밍합니다.
btrim(s,t) 문자열 s의 양쪽 끝에서 문자열 t의 문자 어커런스를 트리밍합니다.
chr(n) 지정된 ASCII 값의 문자를 리턴합니다. 이 함수의 NCHAR 버전인 경우에는 unichar(n)의 내용을 참조하십시오.
initcap(s) 지정된 문자열의 각 단어의 첫 번째 문자를 대문자로 변환합니다.
instr(s1,s2[,n[,m]]) 문자열 s1에서 서브스트링 s2의 위치를 리턴합니다. 이 함수는 nchar 및 nvarchar 문자열도 지원합니다. 다음 인수는 선택사항입니다.
n
검색을 시작할 위치입니다. n
  • 양수인 경우, 이는 왼쪽에서 오른쪽으로 카운팅하는 위치이며 검색이 왼쪽에서 오른쪽으로 실행됩니다.
  • 음수인 경우, 이는 오른쪽에서 왼쪽으로 카운팅하는 위치이며 검색이 오른쪽에서 왼쪽으로 실행됩니다.
기본값은 1입니다.
m
검색 대상인 서브스트링의 어커런스입니다. 기본값은 1(첫 번째 어커런스 검색)입니다.

리턴 값은 서브스트링 s2의 문자열 s1에서 위치를 지정하는 정수입니다.

length(s) 지정된 문자열의 길이를 리턴합니다.
lower(s) 지정된 문자열을 소문자로 변환합니다.
lpad(s,n[,t]) 문자열 s의 왼쪽을 문자로 채워서 길이 n의 새 문자열을 작성합니다. 선택적 인수 t는 채우기 문자를 지정합니다. 기본값은 공백입니다. ns의 길이보다 작은 경우, 시스템은 s를 지정된 길이로 자릅니다.
ltrim(s) 지정된 문자열의 왼쪽 끝에서 공백을 트리밍합니다.
ltrim(s,t) 문자열 ' s'의 왼쪽 끝에서 ' t 문자열에 있는 문자를 잘라냅니다.
repeat(s,n) 문자열 ' s n 여러 번 반복합니다. 결과 문자열이 최대 varchar 길이인 64,000자를 초과하는 경우, 이는 64,000자로 잘립니다.
rpad(s,n) 공백이 길이 n까지 오른쪽으로 문자열 s를 채웁니다. 채우기 문자를 지정하는 선택적 세 번째 인수 (t)가 있습니다. 채워지는 문자열의 길이보다 길이 인수가 작은 경우, 시스템은 지정된 길이로 문자열을 자릅니다.
rtrim(s) 문자열 s의 오른쪽 끝에서 공백을 트리밍합니다.
rtrim(s,t) ' s' 문자열의 오른쪽 끝에서 ' t 문자열에 있는 문자를 잘라냅니다.
strpos(s,b) 문자열 s에서 서브스트링 b의 시작 위치를 지정합니다.
substr(s,p,l) 위치 p에서 시작하며 길이가 l자인 문자열 s의 서브스트링을 리턴합니다. 위치 1은 문자열의 시작입니다. 예를 들어,
  • select substr('abcdefg',1,4);abcd를 리턴합니다.
  • select substr('abcdefg',4,1);d를 리턴합니다.
지정된 길이 때문에 서브스트링이 원래 문자열의 바운드를 초과하는 경우, 원래 문자열 밖의 위치는 무시됩니다. 예를 들어,
  • select substr('abcdefg',3,9);는 5자의 서브스트링 cdefg를 리턴합니다.
  • select substr('abcdefg',9,3);은 널(NULL) 문자열(즉, 길이가 0인 문자열)을 리턴합니다.
지정된 시작 위치 p가 영(0) 또는 음수인 경우에는 ansi_substring 런타임 매개변수가 substr 함수의 작동을 판별합니다.
ansi_substring=true
ansi_substring=true(기본 설정임)인 경우:
  • 위치 0은 위치 1 왼쪽의 한 위치입니다.
  • 음수 시작 위치는 위치 0에서 왼쪽으로 카운팅됩니다. 서브스트링에는 지정된 길이에 대해 오른쪽으로 진행되는 문자가 포함됩니다.
예를 들어,
  • select substr('abcdefg',0,4); 리턴 abc
  • select substr('abcdefg',-2,4); 리턴 a
  • select substr('abcdefg',-5,8); 리턴 ab
ansi_substring=false
ansi_substring=false인 경우:
  • 위치 0은 위치 1과 동등합니다.
  • 음수 시작 위치는 문자열의 맨 오른쪽 문자에서 시작하여 왼쪽으로 카운팅됩니다. 서브스트링에는 지정된 길이에 대해 오른쪽으로 진행되는 문자가 포함됩니다.
예를 들어,
  • select substr('abcdefg',0,4); 리턴 abcd
  • select substr('abcdefg',-2,4); 리턴 fg
  • select substr('abcdefg',-5,8); 리턴 cdefg
translate(s,from,to) from 세트의 문자와 일치하는 s의 문자를 to 세트의 대응되는 문자로 대체합니다. 예를 들어, translate(‘12345’,’14’,’ax’) returns ‘a23x5’입니다.
upper(s) 문자열 s를 대문자로 변환합니다.
unichr(n) 지정된 ASCII 값의 문자를 리턴합니다. chr() 함수와 동등합니다. 이 함수는 코드 포인트가 유효한 범위인지 확인하고, 코드 포인트가 10진수 55,296 - 57,343의 또는 U+D800-U+DFFF의 유효하지 않은 범위이면 오류를 표시합니다.
unicode(s) ascii()의 NCHAR 버전입니다. 문자열 ' s의 첫 번째 문자의 유니코드 값을 반환합니다. Latin9 유니코드 간에는 6개의 문자 값이 다르기 때문에 별도의 함수가 정의되어 있습니다.
unicodes(s,unit,base) 문자열 s의 모든 문자에 대해 유니코드 값을 리턴합니다. 기본적으로, 문자열만 지정하면 함수가 UTF-32 16진 숫자의 표현을 리턴합니다. 단위 값은 UTF-8, UTF-16 또는 UTF-32 프로토콜의 값을 리턴하기 위해 8, 16 또는 32를 지정합니다. 기본 값은 숫자 베이스를 제어하기 위해 대문자 또는 소문자의 ‘oct’, ‘dec’ 또는 ‘hex’(또는 8, 10 또는 16)를 지정합니다.