MS SQL
날짜를 비교해준다.
getdate() 현제날짜 getdate()+1 현제 날짜에 하루 더해준것이다.
select DATEDIFF ( mi , getdate() , getdate()+1 ) ==> 1440 분 (1일)
select DATEDIFF ( s , getdate() , getdate()+1 ) ==> 86400 초 (1일)
select DATEDIFF ( hour , getdate() , getdate()+1 ) ==> 24 시간 (1일)
select DATEDIFF ( day , getdate() , getdate()+1 ) ==> 1 일 (1일)
select DATEDIFF ( week , getdate() , getdate()+31 ) ==> 4 주 (31일)
select DATEDIFF ( month , getdate() , getdate()+31 ) ==> 1 개월 (31일)
select DATEDIFF ( year , getdate() , getdate()+730 ) ==> 2 년 (730일)
MY SQL
SELECT DATEDIFF('2014-11-30','2014-11-29') AS DiffDate
DiffDate |
---|
1 |
일 단위로만 표시 된다. mysql에서는 mssql하고 다르게 일단위밖에 표시가 안된다.
월단위를 표시하고싶으면
SELECT period_diff ('201511', '201310') as month
이렇게 사용하면 된다. 이렇게 사용할려면 - 특수문자를 지워주고 사용해야된다.
아니면 또다른 방법으로
abs(((year(startdate) * 12) + month(startdate)) - ((year(enddate) * 12) + month(enddate)))
사용하면된다.
위처럼 일보다 작은 단위를 비교하고싶으면 TIMESTAMPDIFF 사용하면 됩니다.
SELECT TIMESTAMPDIFF(HOUR, now(), DATE_ADD(now(),INTERVAL 1 HOUR)) dd ==> 1시간
SELECT TIMESTAMPDIFF(MINUTE, now(), DATE_ADD(now(),INTERVAL 1 HOUR)) dd ==> 60분
SELECT TIMESTAMPDIFF(SECOND, now(), DATE_ADD(now(),INTERVAL 1 HOUR)) dd ==> 3600초
'공부 > SQL' 카테고리의 다른 글
MySQL ON DUPLICATE KEY (insert 기존에 있으면 update ) (0) | 2017.04.14 |
---|---|
Mysql 덤프 / 임포트 하기 Dump / Import (0) | 2016.09.08 |
[Oracle, MySQL, MSSQL] LPAD, RPAD 함수 REPLICATE 함수 (0) | 2016.02.17 |
MYSQL You can't specify target table '테이블명' for update in FROM clause (0) | 2016.02.16 |
msql 날짜 mysql 날짜 변경 (0) | 2016.02.11 |