oracle時間格式(to_char、trunc函數的使用)


1、oracle里的系統時間是sysdate,是date類型,執行select sysdate from dual,得到yyyy/mm/dd hh24:mi:ss形式的時間,oracle不區分大小寫。dual表是oracle實際存在的表,當sql強制某些數據必須從某表中獲得,也就是說必須有from命令就可以使用dual。

      yyyy代表年份,mm代表月份,dd代表天

      hh24代表24小時進制的時,如果沒有24就是12小時進制的時,mi代表分鍾(minute),不用mm代表分鍾是因為mm已代表月份,ss代表秒數

      以2021/9/26 22:29:30時間為例,執行select to_char(sysdate,格式) from dual

      格式:顯示值

      yy:21,后兩位年

      yyy:021,后三位年

      yyyy:2021,四位年

      mm:09,如果要顯示9可以執行 select EXTRACT(MONTH FROM sysdate) as MONTH_OF_YEAR from dual

      mon:9月,英文版顯示sep

      (看英文版的時間可以select to_char(sysdate,格式,'NLS_DATE_LANGUAGE = American') from dual,也可以ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN' ,斷開數據庫連接之后,字符局還原為中文字符集,時間變為中文版)

      month:9月,英文版顯示september

      d:1,一周中的第幾天,星期天是第一天

      dd:26,當月的第幾天

      ddd:269,當年的第幾天

      dy:星期日,一周中的星期幾,英文顯示sun

      day:星期日,一周中的星期幾,英文顯示Sunday

      hh:10,12小時進制

      hh24:22,24小時進制

      mi:29

      ss:30

      q:3,當年的第幾個季度

      w:4,當月的第幾周

      ww:39,當年的第幾周

      

 2、to_char()可以將日期轉換成相應格式的時間格式,類型是char

       如select to_char(sysdate,'yyyymmdd') from dual,得到'20210925'

           select to_char(sysdate,'yyyy-mm-dd') from dual,得到'2021-09-25'

 

3、trunc函數用法

      trunc()函數用於截取時間或數值,返回指定的值

      以2021/9/27 22:34:30時間為例,執行select trunc(sysdate,格式) from dual

      格式:顯示值

      yyyy(yyy/yy):2021/1/1,顯示當年第一天,截取到年,剩下的月日都默認為1

      mm(mon/month):2021/9/1,顯示當月第一天,截取到月,剩下的日默認為1

      dd(ddd):2021/9/27,顯示當前年月日,截取到日

      d(dy/day):2021/9/26,顯示當前星期的第一天的年月日,如今天是星期一,就顯示星期天的日期,因為星期天是這個星期的第一天

      hh:2021/9/27 22:00:00,截取到小時,剩下的分秒默認為0

      mi:2021/9/27 22:34:00,截取到分鍾,剩下的秒默認為0

      

      補充:trunc(number,decimals),截取數值,number是指需要截取的數字,decimal指截取的小數位數,默認為0

      select trunc(90.125) from dual,顯示90,因為decimal為0

      select trunc(90.125,2) from dual,顯示90.12,截取到兩位小數

      select trunc(90.125,5) from dual,顯示90.125,截取到三位小數,雖然decimal是5,但是只有三位小數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM