INSTR 함수
해당 문자열의 위치를 찾아 숫자로 나타내는 함수이다.
1 2 3 4
SELECT INSTR(컬럼명,'찾는것',포지션,몇번째)
FROM 테이블;
1.컬럼명
2.찾는 값 아래에서는 문자 c라는 값
3.POSITION - 1,-1 포지션 으로서 1이면 첫번째 위치분터 -1이면 맨뒤 포지션의 값으로 서 뒤에서부터 찾는다. 주의할점이 -1번째 다음은 1번째 위치에서 찾는다.
4.OCCURRENCE - 두번째 c를 찾는다 이 값이 1이면 첫번째 c를 찾는다.
3과4는 생략해도 된다. 3이 없다는 것은 정방향으로 간다는 것이고 4가 없다는것은 첫번째라는 뜻이다.
그리고 이 값의 리턴값(결과값) 은 숫자이다.
아래 같은 경우에는 함수안에 함수를 넣었다 저 가운데
INSTR은 풀어서 사용하면 INSTR함수를 사용한 다음 나온 값에 -1 을 뺀다
그다음 그 값을 포지션 위치로 사용하고 OCCURRENCE는 값이 없기 때문에 첫번째에 나온 값을 출력한다.
고로 이 쿼리가 나타내는 것은
이메일에서 . 이 나오는 위치에서 -1을 한 값의 위치에 C 가 들어가는 이메일을 찾는 쿼리이다.
LENGTH 함수
해당 값에 대한 길이를 구한다.
SELECT lENGTH(타입 또는 컬럼)
FROM 테이블
지금 이건 현재 LENGTH 함수를 사용한 경우이다. LENGTH는 길이를 확인하는 함수이다.
VARCHAR 는 바이트 그대로 나오고 한글일 경우 문제가 생긴다.
한글일 경우에 데이터 6문자의 바이트 + (한글일 경우 각 글자당 3바이트로 추가되서 6글자여서 18바이트가 된다 여기서 남은 나머지가 2바이트가 된다 그래서 여기서 남은 값은 2바이트다)
= 8바이트가 된다.
VARCHARTYPE 은 가변적이여서 영어든 한글이든 한 바이트로 처리한다.
'Base > Database' 카테고리의 다른 글
[Database] TRIM/LTRIM/RTRIM 함수 사용법 (0) | 2020.07.14 |
---|---|
[Database]LPAD/RPAD 함수 사용법 (0) | 2020.07.14 |
[Database] SQL select 문 사용법 (0) | 2020.07.14 |
[Database] sql developer 설치하기 (0) | 2020.07.13 |
[Database] 윈도우 에서 oracle 설치하기 (0) | 2020.07.13 |