현재 날짜와 시간을 출력한다
SELECT SYSDATE FROM dual;
날자 데이터에서 년,월,일을 추출한다.
EXTRACT(구성요소 FROM 날짜값)
구성요소: 추출할 구성 요소를 지정합니다. 예를 들어, 'YEAR', 'MONTH', 'DAY', 'HOUR', 'MINUTE', 'SECOND' 등이 사용될 수 있습니다.
날짜값: 구성 요소를 추출할 날짜값입니다.
SELECT EXTRACT(YEAR FROM SYSDATE) FROM dual;
문자열을 숫자로 변환
TO_NUMBER(문자열, [형식_모델])
문자열: 숫자로 변환할 대상 문자열입니다.
형식_모델 (선택적): 문자열의 형식을 지정하는 형식 모델입니다. 일반적으로 사용되는 형식은 '9', '999', '999.99' 등입니다.
SELECT TO_NUMBER('123.45') FROM dual;
문자 '123.45'를 숫자 123.45로 변경한다.
숫자를 문자열로 변환
TO_CHAR(값, [형식_모델])
값: 문자열로 변환할 숫자, 날짜 또는 시간 값입니다.
형식_모델 (선택적): 문자열의 형식을 지정하는 형식 모델입니다. 예를 들어, 'YYYY-MM-DD', 'HH24:MI:SS', 'FM999,999.00' 등이 사용될 수 있습니다.
문자열을 날짜로 변환
TO_DATE(문자열, [형식_모델])
문자열: 날짜로 변환할 대상 문자열입니다.
형식_모델 (선택적): 문자열의 형식을 지정하는 형식 모델입니다. 예를 들어, 'YYYY-MM-DD', 'DD-MON-YYYY', 'YYYYMMDDHH24MISS' 등이 사용될 수 있습니다.
SELECT TO_DATE('2023-06-14', 'YYYY-MM-DD') FROM dual;
문자를 날짜로 변환
NULL 값을 다른 값으로 대체하는 역할을 합니다.
NVL(표현식, 대체값)
표현식: NULL 값인지 확인할 표현식 또는 컬럼입니다.
대체값: 표현식이 NULL인 경우 대체로 사용될 값입니다.
SELECT NVL(name, 'Unknown') FROM employees;
컬럼 "name"이 NULL인 경우 "Unknown"으로 대체값을 사용한다.
NULL 여부에 따라 다른 값으로 대체하는 기능을 제공
NVL2(표현식, 값1, 값2)
표현식: NULL 여부를 확인할 표현식 또는 컬럼입니다.
값1: 표현식이 NULL이 아닌 경우에 반환될 값입니다.
값2: 표현식이 NULL인 경우에 반환될 값입니다.
SELECT NVL2(name, 'Not Unknown', 'Unknown') FROM employees;
"employees" 테이블의 "name" 컬럼을 조회하며, "name"이 NULL인 경우에는 'Unknown'을 반환하고, NULL이 아닌 경우에는 'Not Unknown'을 반환합니다
두개의 표현식을 비교하여 같으면 NULL을 반환하고 다르면 첫 번째 표현식을 반환합니다.
NULLIF(표현식1, 표현식2)
표현식1: 비교할 첫 번째 표현식 또는 컬럼입니다.
표현식2: 비교할 두 번째 표현식 또는 컬럼입니다.
SELECT NULLIF('one','one') FROM dual;
SELECT NULLIF('one','two') FROM dual;
첫번째는 one, 두번째는 one일때는 null 이 나오고
첫번째는 one, 두번째는 two일때는 one 이 나온다
여러 개의 표현식 또는 컬럼 중에서 NULL이 아닌 첫 번째 값을 반환
COALESCE(표현식1, 표현식2, ...)
표현식1, 표현식2, ...: NULL이 아닌 값을 찾기 위해 순서대로 비교할 표현식 또는 컬럼입니다.
SELECT COALESCE(name, nickname, username) FROM users;
"users" 테이블의 "name", "nickname", "username" 컬럼을 조회하며, NULL이 아닌 값을 찾아 반환합니다.
NULL인 값을 가진 튜플을 선택하는 조건입니다.
SELECT * FROM employees WHERE name IS NULL;
"employees" 테이블에서 "name" 컬럼이 NULL인 직원의 모든 컬럼을 선택합니다.
NULL이 아닌 값을 가진 튜플을 선택하는 조건입니다.
SELECT * FROM employees WHERE name IS NOT NULL;
"employees" 테이블에서 "name" 컬럼이 NULL이 아닌 직원의 모든 컬럼을 선택합니다.