【发布时间】:2016-10-30 16:24:24
【问题描述】:
我正在使用 SQL Server 2008R2。
我试图在输出中获取日期的一部分,而我的列是datetime 数据类型。
例如,
如果当前日期和时间是2016-06-28 17:34:12.060,那么我需要输出为17:00 只需要:00 分钟的小时。
到目前为止我已经尝试过了,
Select DateName(HH,SUBSTRING('2016-06-28 17:34:12.060',12,5)) +':00'
这给了我正确的输出。但是当我传递 datetime 数据类型的列名时,它会给出错误,
Select DateName(HH,SUBSTRING(TimeInHour,12,5)) +':00'
给出错误,
子字符串函数的参数1的参数数据类型时间无效。
我知道我在错误的地方使用了SUBSTRING(),但我真的不知道如何实现该输出。
帮助将非常明显。我需要输出为 HH:00,Hour 不会是 00 分钟。
【问题讨论】:
-
是的,可能但不完全是
-
有几个选项。您可以将cast 从一种数据类型转换为另一种数据类型。或者您可以确定 SQL Server 的date and time functions。
-
...或者您可以使用 SQL Server 的数据和时间函数...
-
谢谢,但现在它为我工作@destination-data
标签: sql sql-server sql-server-2008 sql-server-2008-r2