我有一个datetime
领域。在此字段中,当前日期以这种格式手动插入:
30/05/2013 0.00.00
我会自动化这个过程。所以我试图从GETDATE()
函数中检索当前日期并用函数解析它CONVERT()
,但这只能varchar
用作目标目的地,但正如我所说:我仍然需要datetime
. 我能做些什么?
我有一个datetime
领域。在此字段中,当前日期以这种格式手动插入:
30/05/2013 0.00.00
我会自动化这个过程。所以我试图从GETDATE()
函数中检索当前日期并用函数解析它CONVERT()
,但这只能varchar
用作目标目的地,但正如我所说:我仍然需要datetime
. 我能做些什么?
日期时间都以相同的通用格式存储。然后,您将根据用户的区域设置或您自己指定的格式将其拉回您的报告或应用程序和格式。
日期时间字段和/或对象没有格式。
如果要将当前日期插入日期时间字段(不包括时间部分),请使用以下命令:
insert into [MyTable] ([DateField])
values (cast(floor(cast(getdate() as float)) as datetime)
这会将小时、分钟和秒重置为“0”
如果要插入日期参数,则可以使用以下内容:
cast(floor(cast(@dateParam as float)) as datetime)
如果您只是想更改它在结果集中的格式,您可以使用:
SET DATEFORMAT DMY
然后,在语句的顶部,无论何时将其转换为 varchar,都不需要指定格式。
记住,数据库不应该格式化日期,你的 UI 应该处理这个
To store current date without hour/minutes I usually use this:
CONVERT(DATETIME, CONVERT(CHAR(10), GETDATE(), 102), 102)