sum(getdate())
이렇게 하니깐 안되더라구요.. 시간합계를 내야되는데 방법좀 가르쳐주세요ㅠㅠ
Comment 3
-
항해자™
2014.12.11 12:38
baaeline이 있다면 datediff를 이용해서 초단위로 시간을 구하고 그 값을 합하고 다시 dateadd하시면 될듯 하네요,,, -
한태
2016.02.11 18:07
시간끼리 합을 구하는 경우가 언제 일까 생각해보니 지연일수나 남은일수를 구하는 경우가 있지 않을까 하고 생각해보았습니다.
use AdventureWorks2008
go
select * from Person.Password
select modifieddate, cast((getdate()-modifieddate) as int)
from Person.Password
-> 위의 쿼리를 통해 오늘부터 modifieddate 까지의 차이가 몇 일인지 계산할 수 있습니다.
select sum(cast((getdate()-modifieddate) as int) )
from Person.Password
group by year(modifieddate)
-> 그래서 이를 이용하여 연도별 합을 구해봤는데, 오늘 날짜 대신에 다른 날을 사용하면 두 날짜간의 차이 등을 구할 수 있어
활용할 수 있지 않을까 생각합니다.
SUM함수는 숫자열에만 사용할 수 있기 때문에 DATETIME을 SUM할 수는 없습니다.
다만 DATETIME를 INT나 NUMERIC으로 형변환 할 수 있기 때문에 형변환 후 SUM하고 다시 DATETIME으로 변환하면 됩니다.
하지만 문제가 좀 있는데요.
DATETIME은 단순히 더하거나 SUM하긴 좀 애매한데요
예를 들어서 2000-01-01과 2000-01-01을 SUM하면 어떤결과가 나와야 할지를 정의하셔야 할것 같습니다.
4000-02-02는 아니죠?