Oracle中各種字段類型處理(日期加減、數字、字符串)


1、 日期(加減、格式轉換)

1)日期類型的加減

    天數可以直接加減(可以引申到時分秒的加減);

 月(引申到年)的加減可以用函數add_months();

 

2)日期之間的加減

    兩個日期相減,返回的單位為天,小時及分秒會換算成小數;

     兩個日期相減,返回的單位為月;

 

 3)日期字符串互相轉換

     轉為日期,可以用date'YYYY-MM-DD'或者to_date(日期或字符串日期,格式),格式:'yyyy-MM-dd'、'yyyy-MM-dd hh24:mi:ss'

 

     轉為字符串,可以用to_char(日期或字符串日期,格式),格式:'yyyyMMdd'、'yyyy-MM-dd'、'yyyy-MM-dd hh24:mi:ss'

 

 

  4)查詢日期具體情況

 

 5)其他格式

    trunc(DATEVALUE):DATEVALUE為date類型,獲取該日期的年月日;

    extract(DATA FROM DATEVALUE):獲取日期的一部分值;

        如果DATEVALUE為DATE類型,則DATA可以是(YEAR、MONTH、DAY)

        如果DATEVALUE為TIMESTAMP類型,則DATA可以是(YEAR、MONTH,DAY、HOUR、MINUTE、SECOND)

    LAST_DAY(DATE):返回日期所在月份的最后一天日期

  

2、 數字類型處理

1)round(四舍五入)

    round函數就是返回一個數值,該數值是按照指定的小數位數進行四舍五入運算的結果 。

    語法是:round(number,num_digits),即:round(數值,保留的小數位數)

 

 2)trunc(非四舍五入,按位截取)

    語法是:trunc(number,num_digits),即:trunc(數值,保留的小數位數)

 

3)floor(非四舍五入取整)

    語法是:floor(number),即:floor(數值)

 

 

4)ceil(四舍五入取整)

    語法是:ceil(number),即:ceil(數值)

 

  

 5)數字格式化(數字轉字符串)

    語法是:to_char(number)。

    備注:

           用to_char(number)直接轉,如果number是小於1的數字時候會存在小數點前面的0不會展示(例1.1),可以用to_char(number,'FM90D999')

         【FM90D999】是指轉化格式,其中【FM】是刪除9帶來的空格(例1.2),【D】是小數點(例1.3);

          其中在【D】前后的【9】和【0】是指轉化數字的位數(可以同時存在,各自滿足,也可以互補滿足);

        【D】前的不滿足位數會返回”#“(例2),

         滿足位數會返回正常,區別是【0】超過正常位數后不管是【D】前后都會補0(例3.1),【9】不會做處理(例3.2)

 

   

 

3、 字符串類型處理

1)判斷字符串的長度

   語法是:length(varchar)。

   length函數就是返回一個數值,該數值是指字符串的長度。

 

2)替換字符串中某個字符

   語法是:replace(字符 ,'字符' , ‘替換的字符’)。

   replace函數就是返回一個字符。

 

3)判斷某個字符在字符串中出現的次數

    語法是:LENGTH(字段) - LENGTH(REPLACE(字段, '字符' ,''))。返回的是一個數字

 

4)截取字符串

    語法是:SUBSTR(字段 , number1,number2)。number1(數字)字符串開始的位置;number2(數字)截取的長度,從number1開始到算。

                  SUBSTR(字段 , number1)。number1(數字)字符串開始的位置;到結束。

  

5)判斷某個字符是否存在另一個字符中

    語法是:INSTR(string1, string2) ,instr(源字符串, 目標字符串),返回 > 0 的數字代表存在。

                  INSTR(string1, string2, start, nth_appearance ) ,instr(源字符串, 目標字符串, 起始位置, 第幾次出現)

 

 

 

 

 

 


免責聲明!

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



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