使用此代码查找我的方法是否正确的一些输入。
目标是获取包含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,
答案 0 :(得分:2)
我没有按照你尝试的方法使用正确的分钟。这种方式似乎更简单:
CONVERT(varchar(16), StartTime, 20)
这将返回一个varchar(16),因此如果您需要它返回varchar(32),您可以使用以下命令显式转换它:
convert(varchar(32), CONVERT(varchar(16), StartTime, 20))