欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle中trunc()函數(shù)實例詳解

 更新時間:2023年01月13日 09:11:20   作者:睡竹  
trunc函數(shù)用法用于截取時間或者數(shù)值,返回指定的值,下面這篇文章主要給大家介紹了關(guān)于Oracle中trunc()函數(shù)詳解的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

1、功能描述

用于截取時間或者數(shù)值,返回指定的值。

2、語法

2.1、數(shù)值處理:

格式:

trunc(number,[decimals])

  • number   : 為必要參數(shù),是輸入的一個數(shù)值
  • decimals :參數(shù)可忽略,是要截取的位數(shù),缺省時表示截掉小數(shù)點后邊的值。

案例1【第二個參數(shù)為正數(shù)時】:

select trunc(12345.6789,0)  from  dual  --返回結(jié)果為12345 --第二個參數(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【第二個參數(shù)為負(fù)數(shù)時】:

select trunc(12345.6789,-1)  from  dual  --返回結(jié)果為12340,-1相當(dāng)于整數(shù)位截取一位,這里的截取是把數(shù)值直接變?yōu)?,不會去截取位數(shù),更不會四舍五入
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ù),是輸入的一個date日期值
  • format  :參數(shù)可忽略,是日期格式

format 常用取值:

  1. 缺?。?                                 獲取當(dāng)前年月日:如:2022/7/21 
  2. y或yy或yyy或yyyy或year:  y 都是獲取今天的一月一日:如:2022/1/1
  3. 'mm'或'month'                      當(dāng)月的第一天:如:2022/7/1
  4. 'q':                                      本星期的第一天【是周日而不是周一】
  5. 'hh':                                    當(dāng)前的小時:如:2022/7/21 17:00:00
  6. 'mi':                                    當(dāng)前的時分:如:2022/7/21 17:48:00

案例1【缺省】

錯誤使用:

select trunc('2022/07/21')  from  dual  --報錯,'2022/7/21'是一個字符串,不是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來代替日期數(shù)據(jù)【sysdate為當(dāng)前時間】

如【我當(dāng)前時間為2022/7/21】:

select sysdate  from  dual    --結(jié)果為當(dāng)前時間: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點的前1個小時
select trunc(sysdate) +2/24  from  dual  --結(jié)果為2022/7/21 2:00:00   +2/24表示24點的后2個小時

總結(jié)

到此這篇關(guān)于Oracle中trunc()函數(shù)詳解的文章就介紹到這了,更多相關(guān)Oracle trunc()函數(shù)詳解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決Oracle?查詢時報錯ORA-00923:?FROM?keyword?not?found?where?expected的問題

    解決Oracle?查詢時報錯ORA-00923:?FROM?keyword?not?found?where?

    這篇文章主要介紹了解決Oracle?查詢時報錯ORA-00923:?FROM?keyword?not?found?where?expected的問題,主要給大家介紹可能發(fā)生報錯的幾種情況,感興趣的朋友跟隨小編一起看看吧
    2023-03-03
  • Oracle中實現(xiàn)類似于Mysql中的Field()函數(shù)功能

    Oracle中實現(xiàn)類似于Mysql中的Field()函數(shù)功能

    這篇文章主要詳細(xì)介紹了在Oracle中如何實現(xiàn)類似于Mysql中的Field()函數(shù)功能,本文主要通過代碼示例介紹了Oracle中的Decode()函數(shù)和Oracle中的row_number,需要的朋友可以參考下
    2023-06-06
  • Oracle中BLOB、CLOB的讀取和寫入方式

    Oracle中BLOB、CLOB的讀取和寫入方式

    Oracle數(shù)據(jù)庫中,大類型字段(LOB)用于存儲大量數(shù)據(jù),包括文本、圖像、視頻等,主要類型有CLOB、BLOB、NCLOB和BFILE,CLOB用于存儲大段文本,BLOB用于存儲二進(jìn)制數(shù)據(jù),NCLOB適用于多國語言文本,而BFILE存儲外部文件的引用
    2024-10-10
  • Oracle中正則表達(dá)式的使用實例教程

    Oracle中正則表達(dá)式的使用實例教程

    大家對正則表達(dá)式應(yīng)該都不會陌生,從linux下的命令到Java等編程語言,正則表達(dá)式無處不在,雖然我們實際使用不一定太多,但是當(dāng)我們要處理字符串時,它確實是一個強大的工具。這篇文章主要給大家介紹了關(guān)于Oracle中正則表達(dá)式使用的相關(guān)資料,需要的朋友可以參考下。
    2017-10-10
  • Oracle通過LogMiner實現(xiàn)數(shù)據(jù)同步遷移

    Oracle通過LogMiner實現(xiàn)數(shù)據(jù)同步遷移

    這篇文章主要介紹了Oracle通過LogMiner實現(xiàn)數(shù)據(jù)同步遷移的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • Oracle中查看慢查詢進(jìn)度的腳本分享

    Oracle中查看慢查詢進(jìn)度的腳本分享

    這篇文章主要介紹了Oracle中查看慢查詢進(jìn)度的腳本分享,本文給出了2個實現(xiàn)腳本,直接給出的代碼,需要的朋友可以參考下
    2014-10-10
  • win10 oracle11g安裝報錯問題集合 附解決方法

    win10 oracle11g安裝報錯問題集合 附解決方法

    這篇文章主要為大家總結(jié)了win10 oracle11g安裝報錯問題的產(chǎn)生原因,和oracle安裝報錯的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 如何查看數(shù)據(jù)庫alert日志文件

    如何查看數(shù)據(jù)庫alert日志文件

    本文將詳細(xì)介紹下查看操作系統(tǒng)版本/查看預(yù)警日志文件(alert_sid.log)的位置/查看alert中的內(nèi)容/看看數(shù)據(jù)庫有哪些 可愛的ORA- 錯誤吧等等,感興趣的你可以參考下
    2013-03-03
  • Oracle + mybatis實現(xiàn)對數(shù)據(jù)的簡單增刪改查實例代碼

    Oracle + mybatis實現(xiàn)對數(shù)據(jù)的簡單增刪改查實例代碼

    這篇文章主要給大家介紹了關(guān)于利用Oracle + mybatis如何實現(xiàn)對數(shù)據(jù)的簡單增刪改查的相關(guān)資料,文中圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • Oracle中case?when函數(shù)的用法

    Oracle中case?when函數(shù)的用法

    這篇文章介紹了Oracle中case?when函數(shù)的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05

最新評論