时间查询优化

时间:2015-10-07 19:09:57

标签: sql sql-server sql-server-2008

使用此代码查找我的方法是否正确的一些输入。

目标是获取包含EDT / EST值的MSSQL日期时间列,例如:2014-12-18 03:33:45.723并将其转换为varchar(32),格式为yyyy-mm-dd hh:mm

left(convert(varchar(32),convert(smalldatetime,floor(cast(StartTime as float)*(24/.25))/(24/.25)),120), 
len(convert(varchar(32),convert(smalldatetime,floor(cast(StartTime as float)*(24/.25))/(24/.25)),120)) -3) as ADJUSTED_YYYY_MM_DD_HH24_MI,

1 个答案:

答案 0 :(得分:2)

我没有按照你尝试的方法使用正确的分钟。这种方式似乎更简单:

CONVERT(varchar(16), StartTime, 20)

这将返回一个varchar(16),因此如果您需要它返回varchar(32),您可以使用以下命令显式转换它:

convert(varchar(32), CONVERT(varchar(16), StartTime, 20))