Ty mieszania dwie rzeczy. Jednym z nich jest formatowanie typu daty i godziny podczas wyświetlania/odlewania na varchar, a drugim jest sam typ.
Sam typ magazynuje datetime wewnętrznie i dla samego tego pytania nie dotyczy Ciebie. To jest zawsze takie samo. Sposób, w jaki to widzisz - np. SQL Server Management Studio - to zupełnie inna kwestia i zależy od przesyłania na ciąg bezpośrednio w zapytaniu (cast(dt_column as varchar(20))
) lub pośrednio przez narzędzie, którego używasz.
Jeśli chcesz ręcznie ustawić typ datetime, zwykle piszesz ciąg znaków z datą bezpośrednio odlaną lub pośrednio odłożoną do formatu daty/godziny, np. declare @dt datetime = '2012-01-01 23:00:00'
jest pośrednia, a declare @dt datetime = cast('2012-01-01 23:00:00' as datetime)
jest bezpośrednia.
format YYYY-MM-DD HH24: MI: SS.mmm jest raczej kanoniczny więc jestem pewien, że można po prostu użyć odlew pośredni z łańcucha, dzięki czemu można po prostu napisać:
update [table_name_here]
set [column_name_here] = '2013-01-01 23:12:11.123'
where ... --this line only if needed; if you have only one row you may skip it
Of Oczywiście zamień moją datę w "" na własną.
Jaki jest typ danych danego pola? Czy jest to "Date" lub coś podobnego do 'varchar'? –