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

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

    1、功能描述

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

    2、語法

    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 常用取值:

    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)前的小時(shí):如:2022/7/21 17:00:00
    6. '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來代替日期數(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é)

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

    標(biāo)簽: Oracle
    主站蜘蛛池模板: 孝义市| 仁怀市| 韶关市| 朝阳区| 纳雍县| 定日县| 察雅县| 台州市| 罗山县| 昔阳县| 静海县| 寿宁县| 兰州市| 泸水县| 四会市| 台东市| 徐闻县| 高安市| 沧源| 连平县| 库尔勒市| 阳山县| 西畴县| 大名县| 庆云县| 弥渡县| 基隆市| 宜州市| 晋州市| 枣庄市| 隆尧县| 牡丹江市| 连云港市| 广南县| 敖汉旗| 磴口县| 牟定县| 阜新市| 虞城县| 增城市| 信宜市|