본문 바로가기
  • [성공하는 개발자] - Developer

MSSQL35

[MSSQL] 날짜, 시간 차이 일수 계산 (DATEDIFF) SQL Server에서 시작일자와 종료일자 사이의 일수 또는 시간, 분, 초 등의 차이를 계산할 때 DATEDIFF 함수를 사용한다. DATEDIFF 함수는 두 날짜를 비교하여 DATEPART 구분자에 따라서 차이를 계산하여 결과를 정수로 반환한다. ■ 날짜 차이 계산 SELECT DATEDIFF(DAY, '2021-06-12', '2021-07-13') AS [일차이] , DATEDIFF(MONTH, '2021-06-12', '2021-07-13') AS [개월차이] , DATEDIFF(YEAR, '2021-06-12', '2021-07-13') AS [년차이] DAY : 시작일자와 종료일자 사이의 일수를 반환 MONTH, YEAR : 월, 년이 바뀐 횟수를 반환 (주의: 30일을 1개월 또는 365일.. 2022. 7. 14.
[MSSQL] DATENAME 함수 사용법 (요일, 분기, 날짜분리) SQL Server에서 날짜 형식에서 년, 월, 일을 분리하거나 해당 날짜의 요일(weekday), 분기 등을 구하기 위해서는 DATENAME 함수를 사용하면 된다. 그리고 올해로부터 며칠째 인지 또는 몇 주째 인지도 구할 수 있다. DATENAME 함수는 DATEPART 함수와 거의 유사하다. 차이라고 하면 DATENAME 함수는 결과를 문자로 반환하고, DATEPART 함수는 정수로 반환한다. 월(month)과 요일(weekday) 부분을 제외하면 두 함수 모두 동일하다. | 날짜 분리 하기 SELECT DATENAME(YEAR, GETDATE()) AS [year] , DATENAME(MONTH, GETDATE()) AS [month] , DATENAME(DAY, GETDATE()) AS [day].. 2022. 4. 19.
[MSSQL] FORMAT 함수 사용법 (TO_CHAR, 날짜, 소수점) SQL Server 2012 버전부터 FORMAT 함수가 추가되었다. 오라클에서는 TO_CHAR 함수를 사용하여 날짜 형식을 문자열로 쉽게 변환을 할 수 있고, MSSQL에서는 CONVER 함수를 사용하여 변환이 가능하지만 조금 아쉬운 면이 있었다. FORMAT 함수를 사용하여 오라클의 TO_CHAR 함수에서 가능했던 3가지 사용법을 소개한다. 날짜 문자열 변환 수치값 천단위 콤마 찍기수치값 소주점 표시 | 날짜 문자열 변환 SELECT FORMAT(GETDATE(), 'yyyy-MM-dd') AS result1 , FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss') AS result2 오라클에서 날짜를 문자열로 변환하던 비슷한 형식으로 사용이 가능하다. SELECT FORMAT(G.. 2022. 4. 19.
[MSSQL] ROLLUP 사용법 (소계, 합계) SQL Server에서 그룹 함수로 집계된 데이터에서 소계, 합계를 쉽게 구하기 위해서는 ROLLUP를 사용하면 된다. 아래의 예제를 참고하면 쉽게 이해할 수 있다. ROLLUP은 2가지 사용방법이 있다. 어느 것을 사용하든 결과는 동일하다. 방법1 : GROUP BY ROLLUP(그룹컬럼) 방법2 : GROUP BY 그룹컬럼 WITH ROLLUP | 방법1 : GROUP BY ROLLUP(그룹컬럼) SELECT job , deptno , SUM(sal) AS total_sal FROM emp WHERE job IN ('MANAGER', 'CLERK', 'SALESMAN') GROUP BY ROLLUP(job, deptno) 그룹 컬럼으로 지정된 모든 컬럼에 대하여 소계와 합계를 집계한다. | 방법2 :.. 2022. 4. 19.