如何将GETDATE()存储在varchar中,但作为日期时间?

时间:2013-03-19 17:03:31

标签: sql datetime

当我使用INSERT INTO table varchar_field Values (GETDATE())时,数据库将值存储为:

    Mar 19 2013 12:55PM 

但我希望存储为:

    2013-03-19 12:55:24.577 

如何实现这一目标?

3 个答案:

答案 0 :(得分:9)

请停止将日期值存储为varchar,使用正确的数据类型。

您最好的解决方案是将列更改为正确的数据类型。

但是,如果您需要转换getdate(),则可以使用:

INSERT INTO table varchar_field
select convert(varchar(50), GETDATE(), 121)

这是complete list of all data conversions for SQL Server

答案 1 :(得分:5)

来自MSDN

select CONVERT(varchar(50),getdate(),121)

INSERT INTO table varchar_field Values (CONVERT(varchar(50),getdate(),121))

正如Lamak指出的那样,我错误地指出了varchar的长度

答案 2 :(得分:0)

第1步

alter yourtable drop column varchar_field

第2步

alter yourtable add column datetimefield datetime default getdate()

第3步

select convert(varchar(50), datetimefield, 121)
from yourtable

此方法允许您根据需要更改格式,或进行日期数学。