Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

개발합니다

[Oracle] SQL 함수 정리 본문

Web/DB

[Oracle] SQL 함수 정리

돈기법 2022. 3. 23. 17:51

1. 문자열 함수

SELECT LOWER(name) FROM USER; -- name를 소문자로 변환

SELECT UPPER(name) FROM USER; -- name을 대문자로 변환

SELECT INITCAP(name) FROM USER; -- name의 첫 문자만 대문자 나머지 소문자

SELECT LENGTH(name) FROM USER: -- name의 길이 출력

SELECT CONCAT(id, name) FROM USER; -- id와 name 문자열 붙인 값 출력

SELECT SUBSTR(name, 2, 4) FROM USER; -- SUBSTR(char, pos, len) char의 pos번째 문자부터 len길이만큼 잘라서 반환

SELECT INSTR(name, 'a', 3) FROM USER; -- name 문자열의 3번째 부터 시작해서 'a'를 찾고, 몇번째인지 반환

SELECT REPLACE(name, 'a', 'b') FROM USER; -- name 문자열에서 'a'를 찾아 'b'로 변환한 값을 반환

SELECT TRIM(' abc ed fghi ') FROM DUAL; -- TRIM(char) char의 양쪽 공백을 제거한 값 반환

 

2. 숫자형 함수

SELECT ABS(-3.14) FROM DUAL; -- 숫자의 절대값을 반환
: 3.14

SELECT SIGN(-3), SIGN(2), SIGN(0) FROM DUAL; -- 숫자가 양수인지 음수인지 0인지 구분
: -1, 1, 0

SELECT MOD(14, 3) FROM DUAL; -- MOD(n1, n2) n1을 n2로 나눈 나머지 값을 반환
: 2

SELECT CEIL(3.3) FROM DUAL; -- 숫자보다 크거나 같은 최소정수 반환
: 4

SELECT FLOOR(3.3) FROM DUAL; -- 숫자보다 작거나 같은 최대정수 반환
: 3

SELECT ROUND(3.1435, 3) FROM DUAL; -- ROUND(숫자, m) 소수점 m자리에서 반올림한 값 반환
: 3.144

SELECT TRUNC(3.1435, 3) FROM DUAL; -- TRUNC(숫자, m) 소수점 m자리에서 잘라서 반환
: 3.143

SELECT POWER(2, 4) FROM DUAL; -- 숫자의 거듭제곱 값을 반환 (2^4)
: 16

SELECT SQRT(64) FROM DUAL; -- 숫자의 제곱근 값을 반환 (루트)
: 8

 

3. 날짜형 함수

SELECT SYSDATE FROM DUAL; -- 현재 날짜와 시간 출력

SELECT EXTRACT (YEAR FROM SYSDATE) AS YEAR, -- 날짜 데이터에서 년,월,일 데이터를 출력
       EXTRACT (MONTH FROM SYSDATE) AS MONTH,
       EXTRACT (DAT FROM SYSDATE) AS DAY
FROM DUAL;

 

4. 변환형 함수

SELECT TO_NUMBER('1234') FROM DUAL; -- 문자열을 숫자로 반환

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') -- 숫자, 날짜를 주어진 포맷에 맞춰 문자열로 반환
: 2022-03-23

SELECT TO_DATE('20220323', 'YYYYMMDDHH24MISS') -- 문자열을 주어진 포맷에 맞춰 날짜 타입으로 변환
: 2022/03/23

 

5. NULL 함수

SELECT NVL(name, '홍길동') FROM USER; -- NVL(표현식1, 표현식2) 표현식1의 결과 값이 NULL인 경우 표현식2 출력

SELECT NVL2(name, 'Y', 'N') FROM USER; -- NVL(값, 지정값1, 지정값2) NULL이 아닌 경우 지정값1 출력, NULL인 경우 지정값2 출력

'Web > DB' 카테고리의 다른 글

[Oracle] ROWNUM 사용법  (0) 2022.03.25
[Oracle] Sequence 사용법  (0) 2022.03.25
[Oracle] 프로시저(Procedure), 커서(Cursor)  (0) 2022.03.23
[Oracle] DECODE, CASE WHEN  (0) 2022.03.23
[Oracle] 기본키, 외래키 설정  (0) 2022.03.23