当我使用INSERT INTO table varchar_field Values (GETDATE())
时,数据库将值存储为:
Mar 19 2013 12:55PM
但我想存储为:
2013-03-19 12:55:24.577
如何实现?
请停止将您的日期值存储为varchar
,使用正确的数据类型。
您最好的解决方案是将您的列更改为正确的数据类型。
但是,如果您需要转换getdate()
,您可以使用:
INSERT INTO table varchar_field
select convert(varchar(50), GETDATE(), 121)
来自MSDN:
select CONVERT(varchar(50),getdate(),121)
INSERT INTO table varchar_field Values (CONVERT(varchar(50),getdate(),121))
正如 Lamak 指出的那样,我错误地忽略了指定 varchar 的长度
第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
这种方法允许您在需要时更改格式,或进行日期数学运算。`