ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [함수-단일행함수]날짜함수와 변환함수
    SQLD/함수 2023. 8. 23. 19:23

    1.날짜 함수

    날짜형 함수
    (오라클 / SQL Server)
    내용
    SYSDATE/GETDATE() 현재의 년,월,일,시,분,초를 반환해준다.
      SELECT SYSDATE() →현재 시각 출력
      SELECT GETDATE() →현재 시각 출력
      EXTRACT(단위 FROM 날짜 데이터)
    / DATEPART(단위,날짜 데이터)
    단위(YEAR,MONTH,DAY,HOUR,MINUTE,SECOND)를 출력한다.
      SELECT EXTRACT(YEAR FROM SYSDATE()) → 2023
      SELECT DATEPART(YEAR,GETDATE()) → 2023
      ADD_MONTHS(날짜 데이터,특정 개월수)
    / DATEADD(단위,값,날짜 데이터)
    날짜 데이터에서 특정 개월수를 더하거나 뺀 날짜를 반환해준다.
    SQL Server에서는 DATEADD로 년,월,일,시간을 빼거나 더할 수 있다.
      ADD_MONTHS(SYSDATE(),1) →현재 날짜에서 한달을 더한 결과를 반환
      DATEADD(MONTH,-1,GETDATE()) →현재 날짜에서 한달을 뺀 결과를 반환

    2.변환 함수

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

    1️⃣명시적 형변환

    • 변환 함수를 사용하여 데이터 유형을 명시적으로 변환
    • SQL Server : CONVERT나 CAST함수를 사용한다.
    • 오라클 : TO_NUMBER,TO_CHAR,TO_DATE등 사용한다.

    2️⃣암시적 형변환

    • 데이터 베이스가 내부적으로 알아서 데이터 유형을 변환
    • VARCHAR유형의 BIRTHDAY컬럼이 있다면, 숫자와 비교할 경우 암시적으로 형변환이 된다.

    2)오라클과 SQL Server의 변환 함수

    1️⃣오라클

    변환 함수 설명
    TO_NUMBER(’문자열’) 문자열을 숫자형으로 변환해주는 함수
      TO_NUMBER(’1234’) → 1,234
    TO_CHAR(숫자|날짜 [,'포맷']) 숫자나 날짜를 주어진 포맷 형태로 문자열 타입으로 변환한다.
      SELECT TO_CHAR(SYSDATE,’YYYY/MM/DD’) FROM DUAL → 2023-08-23
      SELECT TO_CHAR(SYSDATE,’YYYY.MON.DAY’) FROM DUAL → 2023.8월 월요일
    TO_DATE(문자열,[,’포맷’]) 문자열을 포맷형식의 날짜타입으로 변환한다.
      TO_DATE(’20230729’, ‘YYYYMMDD’) → 2023-08-23

    2️⃣SQL Server변환 함수

    변환 함수 설명
    CAST('변환할 데이터'AS데이터 형식) 데이터를 원하는 유형으로 변환한다.
      CAST('150'AS INT)+CAST('150' AS INT) 300
    CONVERT(데이터 타입,'변환할 데이터'[,스타일]) 데이터를 원하는 유형으로 변환한다.
    데이터 타입의 길이는 옵션으로 명시하지 않으면 타입의 기본 길이로 저장된다.
      SELECT CONVERT(INT,'150') + CONVERT(INT,'150')  300 
      SELECT CONVERT(VARCHAR(10),GETDATE(),111) → 2023/08/23
      SELECT CONVERT(VARCHAR(8),GETDATE(),23) → 2023-08-23
    ❗️CAST와 CONVERT 두 개의 함수는 동일한 동작을 수행하지만 사용 방법이 다르다.
    ❗️CONVERT는 CAST에 없는 스타일을 정의할 수 있다.

     

Designed by Tistory.