코딩조각

[oracle] oracle SQL 유용한 문자함수 숫자함수

밍튜 2023. 1. 2. 15:01
-문자 함수-
문자열 패딩 함수

SELECT LPAD('HELLO', 5, '0') FROM DUAL; => 'HELLO' 출력

SELECT LPAD('HELLO', 7, '0') FROM DUAL; => '00HELLO' 출력

SELECT RPAD('HELLO', 7, '0') FROM DUAL; => 'HELLO00' 출력

 *한글일 경우 문자길이 * 2 해서 넣어야 1글자가 나옴


첫글자를 대문자로 바꾸는 함수 INITCAP(문자열)

SELECT INITCAP('the most') FROM DUAL; => 'The Most' 출력


문자열 검색함수

SELECT INSTR('ALL WE NEED TO IS JUST TO...', 'TO') FROM DUAL;  => 13 출력(13번째에 'TO'가 있음)
SELECT INSTR('ALL WE NEED TO IS JUST TO...', 'TO',1,2) FROM DUAL; => 24출력(첫번째 TO는 13번째에, 2번째 TO는 24번째에 있음)


문자열 길이를 얻는 함수

SELECT LENGTH('WHERE WE ARE') FROM DUAL;  => 12출력

문자를 대체하는 함수

SELECT REPLACE(PHONE,'-','') FROM MEMBERS;  => 00099991111로 '-'가 빈칸''로 출력



-숫자 함수-
절대값을 구하는 함수

SELECT ABS(35), ABS(-35) FROM DUAL; => 35, 35 출력

값이 양수인지 음수인지 알려주는 함수

SELECT SIGN(35), SIGN(-35), SIGN(0) FROM DUAL; =>  1 , -1 , 0 출력

값을 반올림 하는 함수

SELECT ROUND(34.4567878), ROUND(34.56788) FROM DUAL; =>34, 35 출력
SELECT ROUND(12.345,2) FROM DUAL; => 12.34 출력(소숫점 2번쨰 자리까지 반올림해서 출력) 

나머지 값 얻는 함수

SELECT MOD(17,5) FROM DUAL; => 17을 5로 나눈 나머지 '2'가 출력

숫자의 제곱을 구하는 함수, 제곱근을 구하는 함수

SELECT POWER(5,2), SQRT(25) FROM DUAL; =>25, 5 출력

현재 시간을 얻는 함수

SELECT SYSDATE, CURRENT_DATE, SYSTIMESTAMP, CURRENT_TIMESTAMP FROM DUAL;

SELECT SYSDATE, CURRENT_DATE FROM DUAL; => 23/02/02 , 23/02/02 출력

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';

ALTER SESSION SET TIME_ZONE = '-08:00'; => SYSDATE 의 시간이 -8시간으로 변경