如何只保留日期时间值(SQL Server)的时间部分?
以下是我用来获取HH:MM
字符串的内容:
CONVERT(varchar(5), time_requested, 108)
我在想可能会有更优雅的方式,甚至可能更有效(请参阅类似的问题,关于如何删除日期时间值(SQL Server)的时间部分?)。
要求:
time_created
具有场如date_created
)。 HH:MM
和HH:MM:SS
。 Declare @D datetime = GetDate() -- Data Type could be Time as well
Select CONVERT(varchar(8), @D, 108) -- for HH:MM:SS 11:27:26
Select CONVERT(varchar(5), @D, 108) -- for HH:MM 11:27
没有提及,如果2012+你也可以使用Format()
Declare @D DateTime = '2016-10-22 13:30:25'
Select Format(@D,'HH:mm') -- 13:30
Select Format(@D,'hh:mm:ss tt') -- 01:30:25 PM
这太长了评论。
你的方法很好。 它生成值的字符串表示。
您也可以转换为time
数据类型:
select cast(time_requested as time)
但请注意,这是“无格式” - 它包含小时,分钟,秒和秒的小数部分。 所以,你的方法可能是更好的方法。
链接地址: http://www.djcxy.com/p/94367.html上一篇: How to only keep the time portion of a datetime value (SQL Server)?