我有一个年龄列,用于计算报告中每个成员的年龄。输出是一个整数后跟一个小数点和数字。我想在小数点后面的第一个数字。
我尝试过截断但是它给了我十进制之前的所有内容,然后是我想要的数字。然后我尝试使用逗号调出它并且它不起作用。
TRUNC(年龄, '')
示例 -
年龄15.7岁
预期产出7
尝试如下
select substr(to_char(15.7,'9999.0'),-1,1) as col from dual
it will return 7
这里的数学答案
.
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