SELECT
length('hello')
FROM
dual;
SELECT
lengthb('헬로')
FROM
dual;
//6 반환
SELECT
instr(
'hello world hi high', -- 제시하는 문자열
'h', -- 찾는 문자열
-1, --오른쪽부터 찾는다, 1이라고 하면 왼쪽부터 찾는다
2 --몇번째 찾는 문자열을 찾을지 고른다 이경우는 hi의 h
),
instr(
'hello world hi high',
'h',
-1,
3
),
instr(
'hello world hi high',
'h',
-1,
4
)
FROM
dual; --가상의 테이블
instrb(
'안녕 나는 나야 헤헤헤',
'나',
1,
1
)
한글은 1자에 3바이트이기에 2글자 6바이트 띄어쓰기 1바이트 바로 다음(1바이트)에 시작하기에 8바이트 순서에서 시작한다고 볼수있다.
따라서 8을 반환한다.
LPAD(STRING, N, [STR]) / RPAD(STRING, N, [STR])
Lpad - 왼쪽부터 채워넣는다
Rpad -오른쪽부터 채워넣는다
lpad(기준문자, 총문자의 갯수, 총문자갯수-기준문자 만큼의 수를 채워넣을 문자열)
rpad(기준문자, 총문자의 갯수, 총문자갯수-기준문자 만큼의 수를 채워넣을 문자열)
select lpad('hello',7,'*') from dual; //**hello
select rpad('hello',7,'*') from dual; //hello**
둘다 지정값이 없다면 공백을 삭제한다.
ltrim(’ hello ‘)이라면 반환값은 ‘hello ‘이 된다, 지정된 값 외에 다른값이 나오면 삭제를 종료한다
rtrim(’ hello ‘)이라면 반환값은 ‘ hello‘이 된다, 지정된 값 외에 다른값이 나오면 삭제를 종료한다
SELECT
ltrim('00001234','0')
FROM
dual;
//반환값 1234
SELECT
rtrim('abadcsdhappyab','abcds')
FROM
dual;
//반환값
abadcsdhappy
rtrim(’기준문자열’,’삭제를 원하는문자열’)로 표기한다.
하나의 지정된 문자를 기준문자열에서 삭제해준다
SELECT
TRIM('z' FROM 'zzzzzhellozzzzzz')
FROM
dual;
// 반환값 hello
TRIM('삭제할문자' FROM '기준문자열') : 단 하나의 문자만 지정할수있다. 왼쪽오른쪽 상관없이 문자열을 모두 삭제해준다.
지정한 숫자에 맞춰 문자열을 잘라준다.
SELECT
substr('show me the meony',6)
FROM
dual;
//반환값
me the money
6번째 문자부터 끝까지 잘라내어 반환한다.
SELECT
substr('show me the money',6,2)
FROM
dual;
//반환값
me
6번째 문자부터 문자 2개를 잘라 반환한다.
SELECT
replace('apple hate','hate','love')
FROM
dual;
SELECT
round(123.456)
FROM
dual;
//반환값
--123
round(123.456) : 기준값만있고 지정값이 없음 이경우 정수로 반올림
SELECT
round(123.456,1)
FROM
dual;
//반환
-- 123.5
round(123.456,1) :
SELECT
trunc(123.456,1)
FROM
dual;
// 반환값
--123.4
SELECT
floor(123.456)
FROM
dual;
//반환값
123
SELECT
ceil(123.456)
FROM
dual;
//반환값
--124 -> 정수로 올림
SELECT
add_months(SYSDATE,3)
FROM
dual;
//반환값
22/10/14 (*오늘은 22/07/14)
SELECT
next_day(SYSDATE,'월요일'), //다음주 월요일 날짜 출력
next_day(SYSDATE,'목'), //다음주 목요일 날짜 출력
next_day(SYSDATE,3) --<- 3은 일,월,화 3일이 지난 화요일을 뜻함 //다음주 화요일 날짜 출력
FROM
dual;
SELECT
last_day(SYSDATE)
FROM
dual;
-- 이번달의 마지막 날을 조회