날짜 함수

Hyuntae Jung·2022년 7월 25일
0

MS SQL

목록 보기
14/41
post-thumbnail

1. SYSDATETIME()

: 현재의 날짜와 현재의 시간을 돌려주는 함수이다.

SELECT SYSDATETIME();
SELECT GETDATE();
SELECT FORMAT( SYSDATETIME(), 'yyyy/MM/dd');

2. DATEADD()

: 날짜에 입력한 날짜를 더해주어 돌려주는 함수이다.(DAY, MONTH, WEEK),
시간도 더해서 계산을 할 수 있다.(HOUR,MINUTE, SECOND)

SELECT DATEADD(MONTH, 100, '2015/04/13');
SELECT DATEADD(HOUR, 100, '2015/04/13');
SELECT FORMAT( DATEADD(MONTH, 100, SYSDATETIME()), 'yyyy/MM/dd');

3. DATEDIFF()

: 두 날짜의 차이를 구해주는 함수이다.

SELECT DATEDIFF(DAY, GETDATE(), '2020/10/10');
SELECT DATEDIFF(DAY, SYSDATETIME(), '2022/10/01');
SELECT DATEDIFF(DAY, '2022/08/01', '2022/10/01');

4. DATEPART()

: 지정된 날짜의 년,월,일을 구하는 함수이다.
SELECT DATEPART(MONTH, GETDATE());

SELECT DATEPART(MONTH, GETDATE());
SELECT DATEPART(YEAR, DATEADD(HOUR, 100, '2015/04/13'));

5. DAY(), MONTH(), YEAR()

: 지정한 날짜의 일, 월, 년을 구하는 함수이다.
SELECT DAY('2010/10/10'), MONTH('2010/10/10'), YEAR('2010/10/10');

6. DATEFROMPARTS() : 문자열을 입력했을 때, 지정한 형식으로 값을 돌려주는 함수

SELECT DATEFROMPARTS('2020', '10', '10');
SELECT TIMEFROMPARTS(10, 10, 10, 1, 1 ); --1초의 1/10를 의미한다.
SELECT TIMEFROMPARTS(10, 10, 10, 1, 2 ); --1초의 1/100를 의미한다.
SELECT TIMEFROMPARTS(10, 10, 10, 1, 7 ); --1초의 1/1000000를 의미한다.
-- (10:10:10.0000000 , 백만분의 1초까지 지원)

7. DATETIMEFROMPARTS()

: 초기화된 DATETIME값을 돌려주는 함수

SELECT HIREDATE FROM EMPLOYEE
ORDER BY hiredate DESC;
SELECT DATETIMEFROMPARTS(2010,10,30,23,20,32,0) AS RESULT;

8. EOMONTH()

: 지정한 날짜에 포함된 달의 마자말일자를 돌려주는 함수이다.

EOMONTH ( start_date [, month_to_add ] )
SELECT EOMONTH('2015-4-13') AS RESULT;
SELECT EOMONTH(GETDATE(), 5) AS RESULT; --오늘 날짜에서 5개월 후의 마지막 날짜를 돌려준다.

9. 메타데이터 함수

: 데이터베이스 및 데이터베이스 개체의 정보를 얻어오는 함수이다.

  • COL_LENGTH(): 테이블의 컬럼 길이를 구하는 함수
  • DB_NAME(): 데이터베이스의 이름을 얻어오는 함수
  • OBJECT_ID()
  • OBJECT_NAME()
SELECT COL_LENGTH('EMPLOYEE', 'EMPNAME'); --NVARCHAR은 지정한 길이에 *2의 크기로 표시 
				   	  --VARCHAR는 지정한 길이 그대로 표시
--DB_NAME()
SELECT DB_NAME(7); --ID를 이용하는 경우는 ID에 해당하는 데이터베이스 이름을 얻어온다. 		
SELECT DB_ID(); --데이터베이스의 ID를 얻어오는 함수															  	

--OBJECT_ID()
SELECT OBJECT_ID( 'SAMPLEDB.DBO.EMPLOYEE');
--OBJECT_NAME()
SELECT OBJECT_NAME(629577281);

강의: ms sql 2014 제대로 배우기 1

0개의 댓글