Frage

nextUpdate kann ein beliebiger Datums-/Uhrzeitwert in der Vergangenheit sein.Ich versuche, das zu aktualisieren nextUpdate Stellen Sie das Feld auf das heutige Datum ein, lassen Sie aber die Uhrzeit unverändert und fügen Sie dann 8 Stunden hinzu.

Ich bekomme

Fehler beim Konvertieren der Zeichenfolge in Datum/Uhrzeit

T-SQLe:

UPDATE 
    business.dbo.db_schedule  
SET 
    nextUpdate = DATEADD(hh, 8, CONVERT(datetime, CONVERT(VARCHAR(8), GETDATE(), 111) + ' ' + CONVERT(VARCHAR(8), nextUpdate, 108), 111))  
WHERE
    sno = 8

datetime Das Format an meinem Standort ist 111

War es hilfreich?

Lösung

UPDATE business.dbo.db_schedule
SET nextUpdate= DATEADD(hh, 8,
                DATEADD(d, DATEDIFF(D,nextUpdate,Getdate()),
                          nextUpdate))
where sno=8
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top