一尘不染

没有时间的日期

sql

我正在使用SQL Server 2005。

我有一列名为purchase_time的datetime类型。如何选择带有时间部分的列-仅日期。

谢谢,

巴里

编辑: 是否可以安全地获取日期时间并通过Python在第一个空格上对其进行拆分,还是此格式取决于语言环境?


阅读 152

收藏
2021-03-17

共1个答案

一尘不染

在版本低于2008(基于对某些答案的其他评论,我认为您正在运行)的版本中,最有效的方法是将其保留为datetime类型,并使用日期数学来避免字符串转换。

SELECT DATEADD(DAY, DATEDIFF(DAY, '20000101', purchase_time), '20000101') 
  FROM dbo.table;

编辑

如果您只希望日期用于显示目的,而不是用于计算或分组,则最好由客户来处理。您可以在SQL中通过简单地说:

SELECT dt = CONVERT(CHAR(10), purchase_time, 120)
  FROM dbo.table;
2021-03-17