본문 바로가기
자격증/SQLD

SQL 기본 및 활용 - SQL기본 - 함수(숫자, 날짜, 변환, NULL)

by Love of fate 2024. 2. 27.
728x90
반응형

(2) 숫자 함수 

  1. ABS(수)  - 수의 절대값을 반환해주는 함수이다.

 

  2. SIGN(수) - 수의 부호를 반환해주는 함수이다 양수이면 1, 음수이면 -1, 0이면 0을 반환한다. 

 

  3. ROUND(수 [, 자릿수]) 

    - 수를 지정된 소수점 자릿수까지 반올림하여 반환해주는 함수이다. 자릿수를 명시하지 않았을 경우 기본값은 0이며 반올림된 정수로 반환하고 자릿수가 음수일 경우 지정된 정수부를 반올림하여 반환한다.

 

  4. TRUNC(수 [,자릿수])

    -   수를 지정된 소수점 자릿수까지 버림하여 반환해주는 함수이다. 자릿수를 명시하지 않았을 경우 기본값은 0이며 버림된 정수로 반환하고 자릿수가 음수일 경우 지정된 정수부에서 버림하여 반환한다. 

 

  5. CEIL(수)

    -  소수점 이하의 수를 올림한 정수를 반환해주는 함수이다.

 

  6. FLOOR(수)

    - 소수점 이하의 수를 버림한 정수를 반환해주는 함수이다. 

 

  7. MOD(수1, 수2)

    - 수1을 수2로 나눈 나머지를 반환해주는 함수이다. 단, 수2가 0일 경우 수1을 반환한다. 

 

(3) 날짜함수 

 1. SYSDATE

    - 현재의 연, 월, 일, 시, 분, 초를 반환해주는 함수이다. 

 

 2.EXTRACT(특정 단위 FROM  날짜 데이터)

    - 날짜 데이터에서 특정 단위(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND)만을 출력해서 반환해주는 함수이다.

EXTRACT(YEAR FROM SYSDATE)
EXTRACT(MONTH FROM SYSDATE)
EXTRACT(DAY FROM SYSDATE)

 

3. ADD_MONTH(날짜 데이터, 특정 개월 수 )

  - 날짜 데이터에서 특정 개월 수를 더한 날짜를 반환해수는 함수이다. 날짜의 이전 달이나 다음달에 기준 날짜와 일자가 존재하지 않으면 해당월의 마지막 일자가 반환된다.

ADD_MONTH(TO_DATE('2021-12-31', 'YYYY-MM-DD'), -1) ---> 2021-11-30

 

(4) 변환함수 

1. 명시적 형변환과 암시적 형변환

  • 명시적 형변환 : 변환 함수를 사용하여 데이터 유형 변환을 명시적으로 나타냄
  • 암시적 형변환 : 데이터베이스가 내부적으로 알아서 데이터 유형을 변환함   

2. 명시적 형변환에 쓰이는 함수

   1) TO_NUMBER(문자열)

      - 문자열을 숫자형으로 변환해주는 함수 

    

   2) TO_CHAR(수 or 날짜[,포멧])

      - 수나 날짜형 데이터를 포맷 형식의 문자형으로 반환해주는 함수이다.

   

   3) TO_DATE(문자열, 포맷)

      - 포맷 형식의 문자형의 데이터를 날짜형으로 변환해주는 함수이다. 

 

(5) NULL 관련 함수 

  1. NVL(인수1, 인수2)

    - 인수 1의 값이 NULL일경우 인수 2를 반환하고 NULL이 아닐 경우 인수1을 반환해주는 함수이다. 

 

            --> SQL Server(MSSQL)의 경우 ISNULL(인수1, 인수2)

 

  2. NULLIF(인수1, 인수2)

    - 인수1과 인수2가 같으면  NULL 을 반환하고 같지 않으면 인수1을 반환해주는 함수이다. 

 

  3. COALESCE(인수1, 인수2, 인수3...) 

    - NULL이 아닌 최초의 인수를 반환해주는 함수이다. 

 

  4. NVL2(인수1, 인수2, 인수3)

    - 인수1이 NULL이 아닌 경우 인수2를 반환하고 NULL인 경우 인수3을 반환하는 함수이다. 

 

(6) CASE

   - CASE는 함수와 성격이 같기는 하지만 표현 방식이 함수라기보다는 구문에 가깝다고 할 수 있다. 

   - 문장으로는 '~이면 ~이고 ~이면 ~이다'식으로 표현되는 구문이고 필요에 따라 각 CASE를 여러 개로

 늘릴 수도 있다. 같은 기능을 하는 함수로는 Oracle 의 DECODE 함수가 있다. 

 

-- CASE문에서는 ELSE 뒤의 값이 DEFAULT 값이 되고 별도의 ELSE가 없을 경우 NULL 값이 DEFAULT 값이 된다.

728x90
반응형