MyTable:
id int
Date1 DateTime
Date2 DateTime
Date2의 날짜에 영향을주지 않고 Date2의 시간을 Date1과 동일하게 설정하려면 어떻게해야합니까?날짜가 아닌 DateTime 시간 업데이트
MyTable:
id int
Date1 DateTime
Date2 DateTime
Date2의 날짜에 영향을주지 않고 Date2의 시간을 Date1과 동일하게 설정하려면 어떻게해야합니까?날짜가 아닌 DateTime 시간 업데이트
SQL 서버에서 작동합니다.
UPDATE MyTable
SET Date2 = DATEADD(DAY, DATEDIFF(DAY, Date1, Date2), Date1);
이렇게하면 날짜 부분은 Date2
으로 유지됩니다.
UPDATE :이 방법은 기본적으로 참조로서 Date1
를 사용하고 단지 Date1
Date2
일 사이의 차이를 가산함으로써 재구성 Date2
-Date1
에서 타임 스탬프를 유지한다.
나는 질문을 오해 할까 두려워, date2의 날짜는 동일하게 유지되어야한다 –
롤, 나는 그 질문을 이해했다. 나는 대답을 바꾸었다. – tobias86
좋은 해결책, +1 –
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, @Date2)) + DATEADD(day, -datediff(day, 0, @Date1), @Date1)
이 두 날짜 사이의 일에만 차이로 업데이트 Date2
2008+
select cast(cast(date2 as date) as datetime) + cast(date1 as time) newdate2
from (select getdate() date2, cast('2012-01-01 20:00' as datetime) date1) a
어떤 SQL Server 버전을 사용하고 있습니까? – Lamak
sql 2008 r2. 다른 버전에서는 작동하지 않는 것이 무엇인지 알고 싶습니다. – simon831