如何提取值中小数点后的第一个数字
How to extract first number after decimal point in value
我有一个年龄列,它计算每个成员的年龄,在我的 report.The 输出中是一个整数,后跟一个小数点和数字。我只想要小数点后的第一个数字。
我试过 trunc 但它给了我小数点前的所有内容,然后是我想要的数字。然后我尝试用逗号调用 trunc 但它不起作用。
trunc(年龄,',')
示例 -
15.7 岁
预期输出 7
试试下面的方法
select substr(to_char(15.7,'9999.0'),-1,1) as col from dual
it will return 7
这里是数学答案
取小数部分取整(trunc)。
乘以10取整
.
with age as (select 15.7231 age from dual)
select trunc(10*(age-trunc(age))) dp1 from age
DP1
----------
7
乘以 10,将其截断并将除法的余数除以 10。
with age as (select 15.7231 age from dual)
select mod(trunc(10*age), 10) dp from age
输出:
DP
--
7
我有一个年龄列,它计算每个成员的年龄,在我的 report.The 输出中是一个整数,后跟一个小数点和数字。我只想要小数点后的第一个数字。
我试过 trunc 但它给了我小数点前的所有内容,然后是我想要的数字。然后我尝试用逗号调用 trunc 但它不起作用。
trunc(年龄,',')
示例 -
15.7 岁
预期输出 7
试试下面的方法
select substr(to_char(15.7,'9999.0'),-1,1) as col from dual
it will return 7
这里是数学答案
取小数部分取整(trunc)。
乘以10取整
.
with age as (select 15.7231 age from dual)
select trunc(10*(age-trunc(age))) dp1 from age
DP1
----------
7
乘以 10,将其截断并将除法的余数除以 10。
with age as (select 15.7231 age from dual)
select mod(trunc(10*age), 10) dp from age
输出:
DP
--
7