2 Stimmen

Aktualisierung nur des Datumsteils von datetime in Sql Server 2000

Ich habe Daten in der Tabelle wie die folgenden.

col1                   col2                   col3
--------------------------------------------------------
6/5/2010 18:05:00   6/2/2010 10:05:00         Null
6/8/2010 15:05:00   6/3/2010 10:45:00       6/5/2010 11:05:00 
6/3/2010 15:05:00   Null                    6/7/2010 12:05:00 
6/1/2010 15:05:00   6/3/2010 10:45:00       6/1/2010 14:05:00 

was meine Anforderung ist, möchte ich das Datum von dort Spalten mit einzelnen Datum ohne die Zeit zu stören zu aktualisieren. sagen Sie zum Beispiel, ich möchte die Tabellendaten mit 6/1/2010 zu aktualisieren, wo die Felddaten nicht null ist. bitte lassen Sie mich die Abfrage für die Aktualisierung der Tabellendaten wissen.

Dank und Grüße,

Murali

6voto

codingbadger Punkte 40670

Ich denke, das sollte für Sie funktionieren.

create table #t
(
col1 datetime
)

Insert Into #t 
values ('2010-06-01 10:00:00')

Insert Into #t 
values ('2010-06-06 11:00:00')

Insert Into #t 
values ('2010-05-24 12:40:00')

Insert Into #t 
values ('2010-05-07 13:00:00')

Insert Into #t 
values (Null)

declare @newDate datetime

set @newDate = '2010-07-01'

update #t
Set col1 = DateAdd(day, DateDiff(day, col1, @newDate), Col1)
Where Col1 is not null

select * From #t

drop table #t

0voto

Madhivanan Punkte 13214

Möglicherweise müssen Sie dies über eine SELECT-Anweisung tun, da Sie nicht jedes Mal, wenn der Tabelle neue Daten hinzugefügt werden, eine UPDATE-Anweisung ausführen müssen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X