使用SQL Server删除零

时间:2018-11-11 22:42:35

标签: sql sql-server database sql-server-2008 sql-server-2005

您好,我正在使用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

非常感谢您的帮助!

4 个答案:

答案 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。我希望这个查询/答案可以自我解释。