-
[함수-단일행함수]날짜함수와 변환함수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()) → 2023ADD_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,234TO_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-232️⃣SQL Server변환 함수
변환 함수 설명 CAST('변환할 데이터'AS데이터 형식) 데이터를 원하는 유형으로 변환한다.
CAST('150'AS INT)+CAST('150' AS INT) 300CONVERT(데이터 타입,'변환할 데이터'[,스타일]) 데이터를 원하는 유형으로 변환한다.
데이터 타입의 길이는 옵션으로 명시하지 않으면 타입의 기본 길이로 저장된다.
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에 없는 스타일을 정의할 수 있다.'SQLD > 함수' 카테고리의 다른 글
[함수-다중행 함수]윈도우 함수 (0) 2023.08.28 [함수-다중행 함수]그룹 함수-집계,소계 (0) 2023.08.26 [함수-단일행 함수]NULL관련 함수,CSAE구문 (0) 2023.08.23 [함수-단일행함수]숫자형 함수 (0) 2023.08.23 [함수-단일행함수]문자형 함수 (0) 2023.08.22