如何在 SQL Server 中将时间类型变量除以 2

2021-09-10 00:00:00 tsql sql-server

我有一个 TIME 类型的变量,我需要将这个变量的时间除以 2.

I have a variable of type TIME, I need to divide the time of this variable by 2.

我的 SQL 代码:

DECLARE @TEMPO AS TIME = '01:31:00'

SELECT (@TEMPO / 2 ) AS RESULT

--the result should be: 00:45:30

SQL Server 但是抛出一个错误:

SQL Server however throws an error:

操作数类型冲突:time 与 int 不兼容

Operand type clash: time is incompatible with int

欢迎任何帮助!

推荐答案

另一种选择是将时间转换为 datetime 再转换为 float,然后除以二.

Just another option is to convert the time to datetime and then to float, and then divide by two.

示例

DECLARE @TEMPO AS TIME = '01:31:00'

Select convert(time,convert(datetime,convert(float,convert(datetime,@Tempo))/2))

退货

00:45:30.0000000

相关文章