網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
1、功能描述
用于截取時(shí)間或者數(shù)值,返回指定的值。
2、語(yǔ)法
2.1、數(shù)值處理:
格式:
trunc(number,[decimals])
- number? ?: 為必要參數(shù),是輸入的一個(gè)數(shù)值
- decimals :參數(shù)可忽略,是要截取的位數(shù),缺省時(shí)表示截掉小數(shù)點(diǎn)后邊的值。
案例1【第二個(gè)參數(shù)為正數(shù)時(shí)】:
select trunc(12345.6789,0) from dual --返回結(jié)果為12345 --第二個(gè)參數(shù)省略,相當(dāng)于0
select trunc(12345.6789,0) from dual --返回結(jié)果為12345 --截取0位小數(shù)==去除小數(shù)
select trunc(12345.6789,1) from dual --返回結(jié)果為12345.6 --截取一位小數(shù)
select trunc(12345.6789,2) from dual --返回結(jié)果為12345.67
select trunc(12345.6789,5) from dual --返回結(jié)果為12345.6789
?案例2【第二個(gè)參數(shù)為負(fù)數(shù)時(shí)】:
select trunc(12345.6789,-1) from dual --返回結(jié)果為12340,-1相當(dāng)于整數(shù)位截取一位,這里的截取是把數(shù)值直接變?yōu)?,不會(huì)去截取位數(shù),更不會(huì)四舍五入
select trunc(12345.6789,-2) from dual --返回結(jié)果為12300
select trunc(12345.6789,-3) from dual --返回結(jié)果為12000
select trunc(12345.6789,-4) from dual --返回結(jié)果為10000
select trunc(12345.6789,-5) from dual --返回結(jié)果為0
2.2、日期處理:
格式:
trunc(date,[format])
- date? ? ?:為必要參數(shù),是輸入的一個(gè)date日期值
- format? :參數(shù)可忽略,是日期格式
format 常用取值:
- 缺省: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?獲取當(dāng)前年月日:如:2022/7/21?
- y或yy或yyy或yyyy或year: ?y 都是獲取今天的一月一日:如:2022/1/1
- 'mm'或'month' ? ? ? ? ? ? ? ? ? ? ?當(dāng)月的第一天:如:2022/7/1
- 'q': ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?本星期的第一天【是周日而不是周一】
- 'hh': ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?當(dāng)前的小時(shí):如:2022/7/21 17:00:00
- 'mi': ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?當(dāng)前的時(shí)分:如:2022/7/21 17:48:00
案例1【缺省】
錯(cuò)誤使用:
select trunc('2022/07/21') from dual --報(bào)錯(cuò),'2022/7/21'是一個(gè)字符串,不是date類型
正確方式:
--使用to_date函數(shù),把字符串轉(zhuǎn)為日期格式,注意:to_date的日期格式默認(rèn)為yyyy/mm/dd
select trunc(to_date('2022/07/21','YYYY/MM/DD')) from dual
結(jié)果:
2022/7/21
為了方便學(xué)習(xí)trunc函數(shù),以下案例,都是用sysdate來(lái)代替日期數(shù)據(jù)【sysdate為當(dāng)前時(shí)間】
如【我當(dāng)前時(shí)間為2022/7/21】:
select sysdate from dual --結(jié)果為當(dāng)前時(shí)間:2022/7/21 17:18:18
select trunc(sysdate) from dual --結(jié)果為2022/7/21
案例2【參數(shù)2位“y”】
select trunc(sysdate,'y') from dual --結(jié)果為:2022/7/21
select trunc(sysdate,'yy') from dual --結(jié)果為:2022/7/21
select trunc(sysdate,'yyy') from dual --結(jié)果為:2022/7/21
select trunc(sysdate,'yyyy') from dual --結(jié)果為:2022/7/21
案例3【參數(shù)2位“mm”】
select trunc(sysdate,'mm') from dual --結(jié)果為:2022/7/1
select trunc(sysdate,'month') from dual --結(jié)果為:2022/7/1
案例4【參數(shù)2位“q”】
select trunc(sysdate,'d') from dual --結(jié)果為:2022/7/17
案例5【參數(shù)2位“hh”】
select trunc(sysdate,'hh') from dual --結(jié)果為:2022/7/21 17:00:00
案例6【參數(shù)2位“mi”】
select trunc(sysdate,'mi') from dual --結(jié)果為:2022/7/21 17:48:00
案例7
select trunc(sysdate) -1/24 from dual --結(jié)果為2022/7/20 23:00:00【當(dāng)前日期為:2022/7/21】 -1/24表示24點(diǎn)的前1個(gè)小時(shí)
select trunc(sysdate) +2/24 from dual --結(jié)果為2022/7/21 2:00:00 +2/24表示24點(diǎn)的后2個(gè)小時(shí)
總結(jié)
原文鏈接:https://blog.csdn.net/weixin_42675423/article/details/125906152
相關(guān)推薦
- 2022-12-23 C++類的返回值是*this的成員函數(shù)問(wèn)題_C 語(yǔ)言
- 2022-05-17 qt 解決Error while building/deploying project Hmi (k
- 2022-12-16 Docker教程之使用dockerfile生成鏡像_docker
- 2023-04-14 拯救強(qiáng)迫癥Android?Builder模式_Android
- 2022-01-08 iframe 監(jiān)聽滾動(dòng)事件并滾動(dòng)到指定位置
- 2022-05-05 Entity?Framework表拆分為多個(gè)實(shí)體_實(shí)用技巧
- 2022-03-18 處理Oracle監(jiān)聽程序當(dāng)前無(wú)法識(shí)別連接描述符中請(qǐng)求的服務(wù)異常(ORA-12514)_oracle
- 2022-03-30 C#中的out參數(shù)、ref參數(shù)和params可變參數(shù)用法介紹_C#教程
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支