trunc()函数的学习 (oracle)

trunc()函数有两种用法 1:后面跟日期  2: 后面跟数字

 

A: SELECT a.times,to_date(a.times,'yyyymmdd'),trunc(to_date(a.times,'yyyymmdd'),'month') FROM dmf_loan_limit a

 

显示的结果为:

 

1 20080131     2008-1-31    2008-1-1
2 20080131     2008-1-31    2008-1-1
3 20080131     2008-1-31    2008-1-1
4 20080131     2008-1-31    2008-1-1
5 20080229     2008-2-29    2008-2-1
6 20080229     2008-2-29    2008-2-1
7 20080229     2008-2-29    2008-2-1
8 20080229     2008-2-29    2008-2-1
9 20080331     2008-3-31    2008-3-1
10 20080331    2008-3-31    2008-3-1
11 20080331    2008-3-31    2008-3-1
12 20080331    2008-3-31    2008-3-1
13 20080430    2008-4-30    2008-4-1

 

解释:trunc(to_date(a.times,'yyyymmdd'),'month')  将a.times 转换成 yyyymmdd的日期形式,并且返回a.time所在的第一天。通过这个公式就可以求出这天到这月的第一天相差具体的天数。

 

B: 
SELECT a.times,to_date(a.times,'yyyymmdd'),trunc(to_date(a.times,'yyyymmdd'),'year') FROM dmf_loan_limit a

 

1 20080131      2008-1-31      2008-1-1
2 20080131      2008-1-31      2008-1-1
3 20080131      2008-1-31      2008-1-1
4 20080131      2008-1-31      2008-1-1
5 20080229      2008-2-29      2008-1-1
6 20080229      2008-2-29      2008-1-1
7 20080229      2008-2-29      2008-1-1
8 20080229      2008-2-29      2008-1-1
9 20080331      2008-3-31      2008-1-1
10 20080331    2008-3-31      2008-1-1
11 20080331     2008-3-31      2008-1-1
12 20080331     2008-3-31      2008-1-1
13 20080430     2008-4-30      2008-1-1

 

 

解释:trunc(to_date(a.times,'yyyymmdd'),'year')  将a.times 转换成 yyyymmdd的日期形式,并且返回a.time所在的第一天。通过这个公式就可以求出这天到这年的第一天相差具体的天数。

 

C:  SELECT b.ASSET_AMOUNT,trunc(b.ASSET_AMOUNT,1) FROM dmf_asset_info b

 

1 1262965924.250000      1262965924.2
2 1262965924.250000       1262965924.2
3 7778690036.546600       7778690036.5
4 7091553348.369600       7091553348.3
5 19096360980.821899       19096360980.8

 

解释: 保留小数点之后的一位小数,第二位舍去不四舍五入。

 

D:  SELECT b.ASSET_AMOUNT,trunc(b.ASSET_AMOUNT,-3) FROM dmf_asset_info b

 

解释 : 将小数点左边3位数字忽略为零(精确到千位)

 

1 1262965924.250000       1262965000
2 1262965924.250000       1262965000
3 7778690036.546600       7778690000
4 7091553348.369600       7091553000
5 19096360980.821899       19096360000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值