您好,我正在使用SQL Server,并且具有此列:
data
6/19/2019 3:10:12 PM
12/23/2016 5:02:15 AM
我只想提取时间,所以我使用了以下查询:
select try_parse([data] as time using 'en-US') from Table_1
但是问题是我得到了这样的结果:
15:10:12.0000000
05:02:15.0000000
除了0以外,其他一切都还可以,我是想得到:
15:10:12
05:02:15
非常感谢您的帮助!
答案 0 :(得分:2)
您可以使用TIME()
以正确的比例获得所需的结果。
select Convert(time(0) , Data ) as time from Table_1
time(0)
表示标度0,精度为8。结果为HH:MM:SS
。使用另一个刻度,例如1,将为您提供小数秒的一位数字。您可以在MS Docs
答案 1 :(得分:0)
Declare @data varchar(28)='12/23/2016 5:02:15 AM'
select Convert(varchar(20),Cast(@data as time),24)
答案 2 :(得分:0)
尝试
<Record>
仅显示时间(17:00:59),但是如果您希望将全格式日期设置为dd / MM / yyyy hh:mm:ss,则可以在它们之间添加+
select CONVERT(varchar(8), data, 108) from Table_1
如果使用DATETIME类型的数据,它们将起作用
答案 3 :(得分:0)
您可以使用以下查询提取时间
SELECT CONVERT(VARCHAR(8), cast('12/23/2016 5:02:15 AM' as time),108)
输出为-05:02:15
。我希望这个查询/答案可以自我解释。