我有一个以秒为单位表示值的列。该栏的结果如(465109,352669,351949 ......等)。我需要结果总是小数而不是一。所以465109的结果应该是0.465109,同样352669应该是0.352669。
我能在SQL Sever 2008中做到这一点吗?
DATEDIFF(SECOND,StartDate,GETDATE())
答案 0 :(得分:1)
你能用分裂吗?
select seconds / 1000000.0
注意.0
所以它进行浮点除法而不是整数除法。
如果你想要这些作为小数,那么之后施放:
select cast(seconds / 1000000.0 as decimal(10, 6))
答案 1 :(得分:0)
这是一个诀窍:
CAST('.' + REPLACE(CAST(@value AS varchar(30)), '.', '') AS Numeric(28,10))
作为数学解决方案:
CAST(@valueAS Numeric(28,10)) / (POWER(10, LEN(CAST(FLOOR(@value) AS varchar(20)))))
答案 2 :(得分:0)
datediff
您可以通过将import re
print(re.sub('(?<="number_of_shares":)\d+?',"3",string))
函数返回的整数长度除以10的幂来尝试此操作。