본문 바로가기
개발기록/Oracle & SQLD

SQL 함수, 단일행 함수(문자, 숫자, 날짜, 변환, NULL)

by 쎄정 2022. 5. 17.
728x90
반응형

단일행함수 종류

 

문자형 함수

  • LOWER :  소문자로 변환한다.
  • UPPER : 대문자로 변환한다.
  • CONCAT : 문자열을 결합한다.
  • SUBSTR : 문자열 잘라낸다.
  • LENGTH : 문자열 길이를 구한다.
  • LTRIM : 왼쪽 공백을 제거한다.
  • RTRIM : 오른쪽 공백을 제거한다.
  • TRIM : 양쪽 공백을 제거한다.
  • ASCII : 아스키코드의 값을 구한다.
SELECT LOWER('SQL Developer') -- 전체 소문자
, UPPER('SQL Developer') -- 전체 대문자
, ASCII('A') -- 아스키값으로
, CHR('65') -- 숫잘르 아스키문자로
, CONCAT('SQL', 'Developer') --문자 결합
, SUBSTR('SQL Developer', 1, 3) -- 문자 자르기
, LENGTH('SQL') -- 문자 수
, LTRIM(' SQL') -- 왼쪽 공백제거
, RTRIM('SQL ') -- 오른쪽 공백제거
FROM DUAL;

 

숫자형 함수

  • ABS : 절대값을 반환한다.
  • MOD : 나머지를 구한다.
  • ROUND : 반올림한다
  • TRUNC : 숫자를 잘라낸다.
  • SIGN : 양수일 경우 1, 음수일 경우 -1, 0을 경우 0을 반환한다.
  • CEIL : 무조건 올린다.
  • FLOOR : 무조건 내린다.
SELECT ABS(-15)  -- 15
, SIGN(10) -- 1 
, MOD(8, 3) -- 2 
, CEIL(38.678) -- 39 무조건 한자리 올리기
, FLOOR(38.678) -- 38 무조건 한자리 내리기
, ROUND(38.678, 2) -- 38.68 두번째 자리까지 반올림
, TRUNC(38.678 , 1) -- 38.6 소수점 첫째 자리까지 자르기
, TRUNC(38.678 , 2) -- 38.67 소숫점 둘쨰 짜리까지 자르
, TRUNC(38.678 , 3)
FROM DUAL

 

날짜형 함수

  • SYSDATE : 현재 년월일시분초를 출력한다.
  • EXTRACT
    • EXTRACT(YEAR FROM SYSDATE) : 년을 출력한다.
    • EXTRACT(MONTH FROM SYSDATE) : 월을 출력한다.
    • EXTRACT(DAY FROM SYSDATE) : 일을 출력한다.
SELECT SYSDATE  --현재 년월일시분초 출력
	, EXTRACT(YEAR FROM SYSDATE) -- 년 출력
	, EXTRACT(MONTH FROM SYSDATE) -- 월 출력
	, EXTRACT(DAY FROM SYSDATE) -- 일 출력
	, TO_CHAR(SYSDATE, 'YYYY') -- 년 문자열 출력
	, TO_CHAR(SYSDATE, 'MM') -- 월 문자열 출력
	, TO_CHAR(SYSDATE, 'DD') -- 일 문자열 출력
	, TO_CHAR(SYSDATE, 'HH24') -- 시 문자열 출력
	, TO_CHAR(SYSDATE, 'MI') -- 분 문자열 출력
	, TO_CHAR(SYSDATE, 'SS') -- 초 문자열 출력
	, TO_NUMBER(TO_CHAR(SYSDATE, 'YYYY')) -- 년 숫자형 출력
	, TO_NUMBER(TO_CHAR(SYSDATE, 'MM')) -- 월 숫자형 출력
	, TO_NUMBER(TO_CHAR(SYSDATE, 'DD')) -- 일 숫자형 출력
	, TO_NUMBER(TO_CHAR(SYSDATE, 'HH24')) -- 시 숫자형 출력
	, TO_NUMBER(TO_CHAR(SYSDATE, 'MI')) -- 분 숫자형 출력
	, TO_NUMBER(TO_CHAR(SYSDATE, 'ss')) -- 일 숫자형 출력
FROM DUAL;

 

현실세계 시간 계산하는 방법

SELECT SYSDATE
, SYSDATE - 1  -- 24시간을 뺸것 == 1일 전
, SYSDATE - (1/24)  -- 1시간 전
, SYSDATE - (1/24/60)  -- 1분전
, SYSDATE - (1/24/60/60)  -- 1초전
, SYSDATE - (1/24/60/60) * 10  -- 10초전
, SYSDATE - (1/24/60/60) * 30  -- 30초전
FROM DUAL;

 

728x90

 

변환형 함수

명시적 형변환 : 데이터 유형 변환하도록 명시하는 것 

암시적  형변환 : DBMS가 자동적으로 데이터 유형을 변환하는 것 , 문자 ▶ 숫자

 

  • TO_NUMBER :  숫자로 변환한다.
  • TO_CHAR : 문자로 변환한다.
  • TO_DATE : 날짜형으로 변환한다. 

 

NULL 함수

- NULL에 사칙연산은 NULL을 반환한다.

- 공집합이 나올시 NULL로 변환하려면, MAX로 지정한다.

  • NVL(A, B) : A가 NULL이면 B를 출력
  • NULLIF(A, B) :  A와 B가 같으면 NULL을 출력
  • COALESCE(A, NULL, C)  : NULL이 아닌 첫번째 값을 리턴한다, A 
    • COALESCE 스펠링 암기하기
728x90
반응형

댓글