Sql 是否将getdate()转换为十进制格式的时间?

Sql 是否将getdate()转换为十进制格式的时间?,sql,sql-server-2008-r2,Sql,Sql Server 2008 R2,我需要创建一个update语句,当createdate和createtime字段为空时,该语句将检查记录。我对十进制格式的getdate()有点执着。例如,对于上午7:55,我想演7.9166。下午4:15我想演16.25。试试这个方法 select cast(datepart(hour, GETDATE()) + datepart(minute, GETDATE()) / 60.00 as decimal(5, 2)); 这里同样的问题指的是这个 您能解释一下十进制转换吗?谷歌:sql

我需要创建一个update语句,当createdate和createtime字段为空时,该语句将检查记录。我对十进制格式的getdate()有点执着。例如,对于上午7:55,我想演7.9166。下午4:15我想演16.25。

试试这个方法

  select cast(datepart(hour, GETDATE()) + datepart(minute, GETDATE()) / 60.00 as decimal(5, 2));
这里同样的问题指的是这个


您能解释一下十进制转换吗?谷歌:sql server时间到decimal@Prdp这是小时的十进制数。为什么7:55应该是.9166?即小数点后四位是否有具体原因?为了将最后一位数字向下舍入而不是按照惯例向上舍入,timecreated字段实际上是一个varchar(8)字段,由软件提供商设计,因此我无法控制它。所以我必须把时间转换成十进制数。你能不能除以60,而不是100(一小时内有60分钟)?@MukeshKalgude it说我首先需要一个15的代表。