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;

  

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