ORACLE 문자열 함수

10019 단어 sql
문자열 함수
잘못 되 거나 더 좋 은 해결 방법 이 있다 면 여러분 의 큰 가르침 과 함께 발전 하고 조화 로 운 사 회 를 만 드 는 것 을 환영 합 니 다. 하하.emmmmm, 본인 이 좀 게 으 르 면 제때에 업데이트 하거나 답장 하지 않 을 수도 있 습 니 다. 모든 것 이 인연 에 따 르 겠 습 니 다.
1、INSTR()
형식 1: intr (string 1, string 2) 는 string 2 가 string 1 에 처음 나타 난 위 치 를 되 돌려 줍 니 다. 나타 나 지 않 으 면 0 을 표시 합 니 다.
select instr('hello','lc') from dual;  // 0
select instr('hello','lo') from dual;  // 4

형식 2: intr (string 1, string 2, start position, nth potision) 에서 string 1 을 start 로 되 돌려 줍 니 다.position 위치 검색 시작, n 번 째 string 2 가 나타 난 위 치 를 찾 습 니 다.
select instr('hello','l',1,2) from dual;    // 4
select instr('hello','l',4,1) from dual;    // 4

2、CONCAT
concat (string 1, string 2) string 1 과 string 2 를 연결 합 니 다.
select concat('hello','world') from dual;  //helloworld

3、LENGTH、LENGTHB
length (string 1): 문자열 이 차지 하 는 문자 길 이 를 되 돌려 줍 니 다. 단 위 는 문자 lengthb (string 1) 입 니 다. 문자열 이 차지 하 는 바이트 길 이 를 되 돌려 줍 니 다. 단 위 는 바이트 입 니 다.
select length('  ') from dual;  // 2
select lengthb('  ') from dual; // 4

4、SUBSTR
형식 1. substr (string 1, a, b) 는 string 1 의 a 위치 에서 길이 가 b 인 문자열 을 캡 처 합 니 다.
select substr('helloworld',2,4) from dual;  //ello
select substr('helloworld',10,4) from dual; //d
select substr('helloworld',12,4) from dual; //null

형식 2, substr (string 1, a) string 1 의 첫 번 째 문자 부터 뒤의 모든 자 모 를 캡 처 합 니 다.
select substr('helloworld',2) from dual;    //elloworld
select substr('helloworld',-2) from dual;   //ld(               )

5、LPAD、RPAD
lpad (string 1, length, [pad string]) 왼쪽 에 rpad (string 1, length, [pad string]) 를 채 우 고 오른쪽 에 string 1 을 채 울 문자열 length 문자 길 이 를 채 우 고 n 이 string 1 보다 크 면 n 으로 채 우 고 string 1 보다 작 으 면 왼쪽 에서 오른쪽으로 string 1 길이 가 length 인 문자열 pad 를 캡 처 합 니 다.string 충전 문자, 결 성 된 값 은 빈 칸 입 니 다.
select lpad('hello',10) from dual;      //'     hello'
select lpad('hello',10,0) from dual;    //00000hello
select lpad('hello',3) from dual;       //hel

select lpad('hello',10) from dual;      //'hello     '
select lpad('hello',10,0) from dual;    //hello00000
select lpad('hello',3) from dual;       //hel

6、TRIM,LTRIM,RTRIM
1. 빈 칸 trim 을 제거 하고 양쪽 빈 칸 을 제거 합 니 다. 문자열 중간 빈 칸 lrim 을 제거 하지 않 고 왼쪽 빈 칸 을 제거 합 니 다. 중간 rtrim 은 오른쪽 빈 칸 을 제거 하지 않 고 중간 을 제거 하지 않 습 니 다.
select trim('  aa bb cc  ')from dual;       //'aa bb cc'
select ltrim('  aa bb cc  ')from dual;      //'aa bb cc  '
select rtrim('  aa bb cc  ')from dual;      //'  aa bb cc'

2. 지정 한 기호 trim (leading | trailing | both string 1 from string 2) 을 제거 합 니 다. 앞에서, 뒤에서 string 2 의 string 1 을 제거 합 니 다. 결 성 된 값 은 both 입 니 다.
trim 은 한 글자 만 제거 할 수 있 고, lrim 과 rtrim 은 여러 문 자 를 제거 할 수 있 습 니 다.
select trim(leading 'a' from 'abccba')from dual;    //bccba
select trim(trailing 'a' from 'abccba')from dual;   //abccb
select trim(both 'a' from 'abccba')from dual;       //bccb
select trim('a' from 'abccba') from dual;           //bccb
select trim('ab' from 'abccba') from dual;          //      

lrim (stng 1, string 2) string 1 에서 string 2 를 제거 하 는 문자 제거 규칙 은 string 1 에서 왼쪽 에서 오른쪽으로, 이 문자 가 string 2 에 나타 날 때 까지 이 문 자 를 제거 합 니 다. string 2 에 존재 하지 않 는 문자 나 string 1 이 비어 있 을 때 까지 제거 합 니 다.
select ltrim('aabbcc','abc') from dual;     //null
select ltrim('aaddbbcc','abc') from dual;   //ddbbcc
select ltrim('aabbccefg','abc') from dual;  //efg

rtrim 은 ltrim 과 유사 하 며, 규칙 은 오른쪽 에서 왼쪽으로 바 뀌 었 다.
select rtrim('aabbcc','abc') from dual;         //null
select rtrim('aaddbbcc','abc') from dual;       //aadd
select rtrim('aaccbbefg','abc') from dual;      //aaccbbefg

좋은 웹페이지 즐겨찾기