Oracle日期函数/字符函数/数字函数/转换函数/聚合函数


Oracle日期函数:

  1. MONTHS_BETWEEN:返回两个日期之间月份的差值  
  2.   
  3.     MONTHS_BETWEEN('01-EP-95','11-JAN-94')    
  4.     ===>19.6774194    
  5.   
  6. ADD_MONTHS:在日期上加上份数.  
  7.   
  8.     ADD_MONTHS('11-JAN-94',6)    
  9.     ===>'11-JUL-94'    
  10.   
  11. NEXT_DAY:指定日期的后一天.  
  12.   
  13.     NEXT_DAY('01-SEP-95','FRIDAY')    
  14.     ===>'08-SEP-95'    
  15.   
  16. LAST_DAY:月份中最后一天.  
  17.   
  18.     LAST_DAY('01-SEP-95)    
  19.     ===>'30-SEP-95'    
  20.   
  21. ROUND:四舍五入日期  
  22.   
  23.     ROUND('25-JUL-95','MONTH') ===>01-AUG-95    
  24.     ROUND('25-JUL-95','YEAR') ===>01-JAN-96    
  25.   
  26. TRUNC:截断日期  
  27.   
  28.     TRUNC('25-JUL-95','MONTH') ===>01-JUL-95    
  29.     TRUNC('25-JUL-95','YEAR') ===>01-JAN-95    
  30.   
  31. Oracle日期函数包括哪些:  
  32.   
  33. YYYY----代表完整的年份   
  34. YEAR----年份   
  35. MM------两位数月份   
  36. MONTH---月份的完整名称   
  37. DY------每星期中天的三个字符   
  38. DAY-----天的完整名称  

Oracle字符函数:

  1. 1.LOWER(string) 将输入的字符串转换成小写  
  2.     select lower('HELLO'from dual;  
  3.   
  4. 2.UPPER(string) 将输入的字符串转换成大写  
  5.     select upper('hello'from dual;  
  6. 3.INITCAP(string) 将输入的字符串单词的首字母转换成大写。PS:如果不是两个字母连在一起,则认为是新的单词,例:a_b a,b  a b  类似前面这些情况,都a和b都会转换成大写  
  7.     select initcap('hello'from dual;  
  8.   
  9. 4.连接符(||),将两个字符串用||连接起来,除此之外还可以使用Concat函数来连接字符串。例:select CONCAT(City,country) from Table  
  10.     select concat('hello',' world'from dual;  
  11.   
  12. 5.LPAD和RPAD,填充函数,这是两个十分相似的函数,使用方式完全一样。允许在列的左[右]边填充一组字符。例:RPAD(city,20,'.'),如果ciy的值没有小于长度20的话,则用'.'在右边补齐,补到20个,如果是用空格补齐,看上去就是像左对齐一样。  
  13.       
  14. 6.LTRIM,RTRIM和TRIM,他们的作用是从字符串的左边,右边,左右两边删除不需要的字符,默认时删除空格。  
  15.     select ltrim('HelloWorld','Hello'from dual;  
  16.     select rtrim('HelloWorld','World'from dual;  
  17.   
  18. 7.LENGTH 该函数很简单,就是告诉用户一个字符串有多长,即字符串中有多少个字符,该函数本身并不是很好用,但可以做为其它函数的一部分,用于计算表格需要多少空格,或者做为orderby 子句的一部分。PS:您不能对一个使用LONG数据类型的列使用LENGTH之类的函数。  
  19.   
  20. 8.SUBSTR(string,start [,count]) 该函数告诉oracle提取出string一个子集,start开始位置,count提取长度,不指定count时,默认提取到该字符串的尾部。  
  21.   start同时也可以指定为负数,指定为正数的时候是从字符串的起始位置开始算(左边),指定负数时,是从末尾位置算(右边)。PS:负数不能使用于Char数据类型,因为Char是固定长度的,   所以将使用空格填充他们的值,直到扩展到列的全长。  
  22.   select substr('helloworld',3,5) from dual;  
  23.   
  24. 9.INSTR 返回指定的字符串所在的位置  
  25.   INSTR(string,set[,start [,occurrence ] ] ) 如果指定start,oracle则跳过前面所有字符串到该位置开始搜索,occurence,是强迫instr跳过前几次与字符串匹配,给出下一次匹配的位置,如果occurence指定3,那就是匹配第三次的位置了。 例 instr('ABACAAA','A',2,2) 从ABACAAA中匹配A这个字符串,从2个位置开始匹配,匹配第2次A所在的位置。PS:如果set中不止有一个字符而是有几个字符组成的,则INSTR给出该字符集中的第一个字符的位置。  
  26.   select instr('world','l'from dual;  
  27.   
  28. 10.translate(): 按字符翻译  
  29. select translate('helloworld','o','a'from dual;  
  30.   
  31. 11.replace(): 替换字符串  
  32. select replace('helloworld','world','续写经典'from dual;  
Oracle数字函数:
  1. 1.1、ABS(n)函数  
  2.   
  3. 描述:返回数值n的绝对值。  
  4.   
  5. Examples:select abs(-15) “test” from dual;  
  6. 1.2、ACOS(n)函数  
  7.   
  8. 描述:返回数值n的反余弦值。输入数值范围在-1~1之间,返回值为弧度。  
  9.   
  10. Examples:select acos(0.6) “test”,acos(-.6) “test1” from dual;  
  11. 1.3、COS(n)函数  
  12.   
  13.      描述: 返回数值n的余弦值。返回值为弧度。  
  14.   
  15. Examples:select cos(1.6) “test”,cos(-6) “test1” from dual;  
  16. 1.4、SIN(n)函数  
  17.   
  18.      描述: 返回数值n的正弦值。  
  19.   
  20. Examples:select sin(1.6) “test”,sin(-6) “test1” from dual;  
  21. 1.5、ASIN(n)函数  
  22.   
  23.     描述: 返回数值n的反正弦值。输入数值范围在-1~1之间,返回值为弧度。  
  24.   
  25. Examples:select asin(0.6) “test”,asin(-0.6) “test1” from dual;  
  26. 1.6、TAN(n)函数  
  27.   
  28.     描述: 返回数值n的正切值。  
  29.   
  30. Examples:select tan(6) “test”,tan(-0.6) “test1” from dual;  
  31. 1.7、ATAN(n)函数  
  32.   
  33.     描述: 返回数值n的反正切值。输入数值任意,返回值为弧度。  
  34.   
  35. Examples:select atan(6) “test”,atan(-0.6) “test1” from dual;  
  36. 1.8、ATAN2(n,m)函数  
  37.   
  38.     描述: 返回数值n/m的反正切值。输入数值任意,返回值为弧度。  
  39.   
  40. Examples:select atan2(19,3) “test”,atan2(-9,-0.9) “test1” from dual;  
  41. 1.9、SINH(n)函数  
  42.   
  43.     描述: 返回数值n的双曲正弦值。输入数值任意。  
  44.   
  45. Examples:select sinh(6) “test”,sinh(-0.6) “test1” from dual;  
  46. 1.10、TANH(n)函数  
  47.   
  48.    描述: 返回数值n的双曲正切值。输入数值任意。  
  49.   
  50. Examples:select tanh(6) “test”,tanh(-0.6) “test1” from dual;  
  51. 1.11、CEIL(n)函数  
  52.   
  53.    描述: 返回大于等于数值n的最小整数。  
  54.   
  55. Examples:select ceil(6) “test”,ceil(6.6) “test1” from dual;  
  56. 1.12、COSH(n)函数  
  57.   
  58.    描述: 返回数值n的双曲余弦值。  
  59.   
  60. Examples:select cosh(6) “test”,cosh(6.6) “test1” from dual;  
  61. 1.13、EXP(n)函数  
  62.   
  63.    描述: 返回e的n次冥。(e=2.71828183…)  
  64.   
  65. Examples:select exp(6) “test” from dual;  
  66. 1.14、FLOOR(n)函数  
  67.   
  68.     描述: 返回小于等于数值n的最大整数。  
  69.   
  70. Examples:select floor(6) “test”,floor(9.3) “test1” from dual;  
  71. 1.15、LN(n)函数  
  72.   
  73.    描述: 返回数值n的自然对数。(n必须大于0)  
  74.   
  75. Examples:select ln(6) “test” from dual;  
  76. 1.16、LOG(m,n)函数  
  77.   
  78.    描述: 返回以m为底的数值n的对数。(m>1,n>0)  
  79.   
  80. Examples:select log(6,3) “test” from dual;  
  81. 1.17、MOD(m,n)函数  
  82.   
  83.    描述: 返回m/n后的余数,若n=0,则返回m(求模运算)  
  84.   
  85. Examples:select mod(6,3) “test” from dual;  
  86. 1.18、POWER(m,n)函数  
  87.   
  88.    描述: 返回m的n次冥  
  89.   
  90. Examples:select power(6,3) “test” from dual;  
  91. 1.19、ROUND(n,[m])函数  
  92.   
  93.    描述: 执行四舍五入运算,m可以省略,当省略m时,四舍五入到整数位;当m为正数时,四舍五入到小数点后m位;当m为负数时,四舍五入到小数点前m位。  
  94.   
  95. Examples:select round(6.698,2) “test” from dual;  
  96. 1.20、SIGN(n)函数  
  97.   
  98.   描述: 检测数值的正负,当n<0则返回-1;当n>0则返回1,当n=0返回0。  
  99.   
  100. Examples:select sign(6.698) “test”,sign(-9) “test1”,sign(0) “test2” from dual;  
  101. 1.21、SQRT(n)函数  
  102.   
  103.   描述: 返回数值n的平方根。(n>=0)  
  104.   
  105. Examples:select sqrt(6.698) “test” from dual;  
  106. 1.22、TRUNC(n,[m])函数  
  107.   
  108.   描述: 截取数值n,m可以省略,当省略m时则截取n的小数部分;当m为正数时则将n截取到小数点后m位;当m为负数时则将n截取到小数点前m位  
  109.   
  110. Examples:select trunc(6.698,2) ���test”,trunk(696.3,-2) “test1” from dual;  
Oracle转换函数:
  1. TO_CHAR 是把日期或数字转换为字符串  
  2. TO_DATE 是把字符串转换为数据库中得日期类型转换函数  
  3. TO_NUMBER 将字符转化为数字  
  4. --extract(): 查询当前日期   
  5. select extract(year from sysdate)||'年'||extract(month from sysdate)||'月'||extract(day from sysdate)||'日' as 转换后的日期 from dual  
  6.   
  7. --to_char(): 日期转换格式,默认“DD-MON-YY”   
  8. select to_char(sysdate) from dual;  
  9. select to_char(sysdate,'YYYY"年"MM"月"DD"日 "HH":"MI":"SS'from dual; --12小时格式   
  10. select to_char(sysdate,'YYYY"年"MM"月"DD"日 "HH24":"MI":"SS'from dual; --24小时格式   
  11.   
  12. --decode(): 相当于多重if-else(以EMP表为例)   
  13. select empno as 编号,ename as 姓名,decode(deptno,10,'董事会',20,'管理部门',30,'开发部门','怪物'as 所属部门 from emp  
Oracle聚合函数:
  1. Count   返回找到的记录数    
  2. Min 返回一个数字列或计算列的最小值    
  3. Max 返回一个数字列或计算列的最大值    
  4. Sum 返回一个数字列或计算列总和    
  5. avg 返回一个数字列或计算列的平均值  

相关内容