Oracle 數據庫之基礎函數

 數值函數 

    --四捨五入
    select round(23.4),round(34.4,-1),round(23.4,1) from dual;
    --向上取整 and 向下取整
    select ceil(23.45),floor(23.45) from dual;
    --取絕對值
    select ABS(-23.5),ABS(23.5),ABS(0) FROM DUAL;    
    --取餘數
    select mod(5,2) from dual;    
    --power(m,n) --返回m的n次冪
    select power(2,3) from dual; --2的3次冪    
    --sqrt(n) --求平方根 16的平方根是4
    select sqrt(16) from dual;    
    --三角函數 SIN(N),ASIN(N)...


字符函數
   --大小寫轉換
   select UPPER('mkdsfsdl'),LOWER('FDFSDF'),initcap('dsdsd')  from  dual;
   --截取字符串
   substr(char,m,n)--char需要截取的字符串,m從第幾位開始, n截取幾位
   select substr('abcde',2,3), substr('abcde',2),substr('abcde',-3,2) from  dual;
   --獲取字符串的長度
   select length('abcde'), length('abcde ') from  dual;
   --字符串的連接 CONCAT(CAHR1,CHAR3)
   select CONCAT('ab','cd'), 'ab' || 'cd' from  dual;   
   --去除字符串函數trim(c2 from c1), ltrim 從左邊開始去除一個,  rtrim 從右邊開始去除一個
   select trim('a' from 'abcfcd') , ltrim('abcade','a'), rtrim('abcadeaa','a')from  dual;
   --替換函數 replace(cahr,s_string, r_string)
   select replace('dasdassd','d'), replace('dasdassd','da','A')from  dual;
 


  日期函數
   --系統時間
   select sysdate from  dual; 
   --日期操作
   --添加指定的月份 ADD_MONTHS(DATE,I)
   select ADD_MONTHS(sysdate,3), ADD_MONTHS(sysdate,-3)from  dual;
   --指定星期
   select NEXT_DAY(sysdate,'星期一') from  dual;
   --每個月的最後一天
   select LAST_DAY(sysdate) from  dual;
   --兩個日期之間間隔的月份'20-5月-15'--15年5月20號
   select  months_between('20-5月-15', '10-1月-15') from  dual;
   --返回日期的部分extract(date from datetime)
   select extract(year from sysdate), extract(month from sysdate),extract(day from sysdate) from  dual;
   --返回日期的小時部分
   select extract(hour from timestamp '2020-10-1 17:25:13') from  dual;
   


轉換函數
  --日期轉換成字符的函數
  --TO_CHAR(將要轉換的日期, 轉換的格式, 日期的語言(可省))
  --YY YYYY YEAR;MM month;DD day;HH24 HH12;MI ss
  select TO_CHAR(sysdate,'YY-MM-DD HH24:MI:SS'),TO_CHAR(sysdate,'YY-MM-DD HH12:MI:SS') from  dual;
  
  --字符轉換成日期的函數
  select to_date('2020-07-03','YYYY-MM-DD') from  dual;
  
  --數字轉換成字符的函數TO_CHAR(number,fmt)
  --9:顯示數字並忽略前面的0; 0:顯示數字,位數不足,用0補齊
  --.或者D:顯示小數位; ,或G:顯示千位符; $:美元符號;S:前後加正負號
  select to_char(12123.78,'$99,999.999'),to_char(12123.78,'S99,999.999')  from  dual;

  --字符轉換成數字的函數
  select TO_NUMBER('$3,2312','$99999') from  dual;

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章