当我使用INSERT INTO table varchar_field Values (GETDATE())
时,数据库将值存储为:
Mar 19 2013 12:55PM
但我希望存储为:
2013-03-19 12:55:24.577
如何实现这一目标?
答案 0 :(得分:9)
请停止将日期值存储为varchar
,使用正确的数据类型。
您最好的解决方案是将列更改为正确的数据类型。
但是,如果您需要转换getdate()
,则可以使用:
INSERT INTO table varchar_field
select convert(varchar(50), GETDATE(), 121)
答案 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
此方法允许您根据需要更改格式,或进行日期数学。