将日期格式SQL转换为YYYY-MM-DD HH:MM:SS

时间:2016-11-23 16:50:49

标签: sql sql-server

我目前有日期格式2016-11-23 16:47:21.007,我正在尝试使用此SQL转换它:

update user_table set login_date = CONVERT(datetime,login_date,120)

所以我只得到2016-11-23 16:47:21但它目前只是保持相同的格式。

我错过了什么吗?

2 个答案:

答案 0 :(得分:4)

您当前的要求主要是演示需求。由于您的login_date已存储为datetime,因此无需在数据库内部更改任何内容。

如果您需要提交 login_date毫秒,请继续按原样拨打CONVERT

SELECT CONVERT(varchar(19), login_date, 120) AS login_date_no_millis
FROM yourTable

但是你没有必要在你的问题中向我们展示UPDATE

答案 1 :(得分:0)

将列更改为数据类型datetime2(0)将意味着不存储毫秒。如果你确定你不需要它们。

同样,在select中将它转换为datetime2(0)将在表示级别中执行相同操作,同时在需要时保持数据库中的毫秒数。也就是说,与cast / convert to varchar不同,它仍然是一个日期时间值而不是字符串,如果这对应用程序产生影响。