国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Oracle中trunc()函數實例詳解

瀏覽:216日期:2023-03-12 15:25:34
目錄
  • 1、功能描述
  • 2、語法
    • 2.1、數值處理:
    • 2.2、日期處理:
  • 總結

    1、功能描述

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

    2、語法

    2.1、數值處理:

    格式:

    trunc(number,[decimals])

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

    案例1【第二個參數為正數時】:

    select trunc(12345.6789,0)  from  dual  --返回結果為12345 --第二個參數省略,相當于0
    select trunc(12345.6789,0)  from  dual  --返回結果為12345 --截取0位小數==去除小數
    select trunc(12345.6789,1)  from  dual  --返回結果為12345.6    --截取一位小數
    select trunc(12345.6789,2)  from  dual  --返回結果為12345.67
    select trunc(12345.6789,5)  from  dual  --返回結果為12345.6789  

     案例2【第二個參數為負數時】:

    select trunc(12345.6789,-1)  from  dual  --返回結果為12340,-1相當于整數位截取一位,這里的截取是把數值直接變為0,不會去截取位數,更不會四舍五入
    select trunc(12345.6789,-2)  from  dual  --返回結果為12300
    select trunc(12345.6789,-3)  from  dual  --返回結果為12000    
    select trunc(12345.6789,-4)  from  dual  --返回結果為10000
    select trunc(12345.6789,-5)  from  dual  --返回結果為0

    2.2、日期處理:

    格式:

    trunc(date,[format])

    • date     :為必要參數,是輸入的一個date日期值
    • format  :參數可忽略,是日期格式

    format 常用取值:

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

    案例1【缺省】

    錯誤使用:

    select trunc("2022/07/21")  from  dual  --報錯,"2022/7/21"是一個字符串,不是date類型

    正確方式:

    --使用to_date函數,把字符串轉為日期格式,注意:to_date的日期格式默認為yyyy/mm/dd
    select trunc(to_date("2022/07/21","YYYY/MM/DD"))  from  dual  

    結果:

    2022/7/21

    為了方便學習trunc函數,以下案例,都是用sysdate來代替日期數據【sysdate為當前時間】

    如【我當前時間為2022/7/21】:

    select sysdate  from  dual    --結果為當前時間:2022/7/21 17:18:18
     
    select trunc(sysdate)  from  dual  --結果為2022/7/21

    案例2【參數2位“y”】

    select trunc(sysdate,"y")  from  dual  --結果為:2022/7/21 
    select trunc(sysdate,"yy")  from  dual  --結果為:2022/7/21 
    select trunc(sysdate,"yyy")  from  dual  --結果為:2022/7/21 
    select trunc(sysdate,"yyyy")  from  dual  --結果為:2022/7/21 

    案例3【參數2位“mm”】

    select trunc(sysdate,"mm")  from  dual  --結果為:2022/7/1
    select trunc(sysdate,"month")  from  dual  --結果為:2022/7/1

    案例4【參數2位“q”】

    select trunc(sysdate,"d")  from  dual  --結果為:2022/7/17 

    案例5【參數2位“hh”】

    select trunc(sysdate,"hh") from dual --結果為:2022/7/21 17:00:00

    案例6【參數2位“mi”】

    select trunc(sysdate,"mi")  from  dual  --結果為:2022/7/21 17:48:00

    案例7

    select trunc(sysdate) -1/24  from  dual  --結果為2022/7/20 23:00:00【當前日期為:2022/7/21】   -1/24表示24點的前1個小時
    select trunc(sysdate) +2/24  from  dual  --結果為2022/7/21 2:00:00   +2/24表示24點的后2個小時

    總結

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

    標簽: Oracle
    主站蜘蛛池模板: 临高县| 远安县| 泸西县| 偃师市| 阿克陶县| 淮阳县| 东平县| 革吉县| 依安县| 钟祥市| 娱乐| 宝清县| 静乐县| 米易县| 汉中市| 峨眉山市| 彩票| 玛纳斯县| 安宁市| 清流县| 封丘县| 台北市| 万年县| 天柱县| 湖北省| 武强县| 武鸣县| 申扎县| 新昌县| 封开县| 淅川县| 永兴县| 彩票| 微博| 溆浦县| 积石山| 平原县| 海城市| 福贡县| 汽车| 财经|