oracle中的常用函数
1. 字符串常用函数
函数名 | 说明 |
---|---|
concat | 用来连接字符串的函数,只能连接两个字符串。如果想连接多个字符串可以使用"||"符号 |
initcap | 把每个单词的首字母大写。 |
instr(‘母字符串’,‘子字符串’) | 母字符串:被查找的字符串。子字符串:要查找的字符串。 如果有第三个参数,代表从第几个字符开始查找。 第四个参数代表查询第几次出现的字符串的下标,默认是1。 查询不到返回0 select instr(‘410106199012132018‘,‘19901213‘,1,1) instring from dual; |
upper | 把所有字符大写 |
lower | 把所有字符小写 |
rpad(‘母字符‘,n,‘子字符‘) | (ringht pad)在列的右边粘贴字符。在母字符右边补充子字符串。n表示补充后达到的字符数量 select rpad(‘gao‘,10,‘#‘) from dual; |
lpad | (left pad)在列的左边粘贴字符。同rpad |
ltrim(‘‘,‘‘) | 删除左边出现的字符串 第一个参数代表要处理的字符串,如果没有第二个参数代 表删除空格,如果有第二个参数代表要删除第二个参数指定的字符串** |
rtrim | 删除右边出现的字符串. 同ltrim select rtrim(‘*令狐冲 ‘,‘ ‘) from dual; |
substr( ‘ ‘, , ) | 截取子字符串 第一个参数代表要处理的字符串,第二个参数代表从第几位开始截取,默认从1开始。第三个参数代表最多截取多少个字符,若为空截全部 select substr(‘13012345678’,3,8) from dual; |
replace | 字符串替换 第一个参数代表要处理的字符串。第二个参数表示要替换的字符串,第三个参数表示替换后的字符串 select replace(‘全能神就是好‘,‘全能神‘,‘切糕‘) from dual; |
trim(type‘字符串1‘from‘字符串2‘) | 分别从字符串2的两边开始删除指定的字符1个,如果第前两个参数和from省略,则删除字符串2两边的空格; type:删除的方式(leading:从左边开始删除;trailing:从右边开始删除;both:默认方式,从两边删除) 删除tech两端的字符串 :select trim(‘ tech ‘) from dual; 删除 000123头部的0字符 : select trim(leading ‘0‘ from ‘000123‘) from dual; |
处理数值类型的常用函数
函数名 | 说明 |
---|---|
ABS | 返回指定值的绝对值 |
CEIL | 返回大于或等于给出数字的最小整数 select ceil(3.1415927) from dual; |
FLOOR | 对给定的数字取整数 |
MOD(n1,n2) | 返回一个n1除以n2的余数 |
POWER(n1,n2) | 返回n1的n2次方 |
SIGN | 取数字n的符号,大于0返回1,小于0返回-1,等于0返回0 |
SQRT | 返回数字的根 |
| round | 按照指定的精度四舍五入 第二个参数为正时,表示从小数点向后计算。 第二个参数为负时,表示从小数点向前计算。 select round(124.1666,-2),round(124.1666,2) from dual;
| trunc | 按照指定的精度截取一个数 select trunc(124.1666,-2) , trunc(124.16666,2) from dual; |
日期函数
函数名 | 函数值 |
---|---|
sysdate | 获取当前日期 select sysdate, to_char(sysdate,’dd-mm-yyyy day’) from dual; |
ADD_MONTHS | 增加或减去月份 select add_months(sysdate,2) from dual; |
LAST_DAY | 返回日期的最后一天 |
MONTHS_BETWEEN(date2,date1) | 给出date2和date1相差的月份 |
NEXT_DAY(date,‘day‘) | 给出日期date和星期x之后计算下一个星期的日期 |
trunc(date,fmt) | 按指定格式截取日期 |
to_char() | 把数字或者日期转换为字符串。转换日期to_char(日期,要转换成的 日期的格式) |
to_date() | 把字符串转换为日期 有两个参数,第一个参数是要转换的日期的字 符串,第二个参数日期字符串的格式 |
转换函数
函数 | 返回 | 描述 |
---|---|---|
to_char(timestamp, text) | text | 把 timestamp 转换成 string |
to_char(int, text) | text | 把 int4/int8 转换成 string |
to_char(double precision, text) | text | 把 real/double precision 转换成 string |
to_char(numeric, text) | text | 把 numeric 转换成 string |
to_date(text, text) | date | 把 string 转换成 date |
to_timestamp(text, text) | date | 把 string 转换成 timestamp |
to_number(text, text) | numeric | 把 string 转换成 numeric |
将日期按特定格式显示select to_char(sysdate,‘yyyy/mm/dd hh24:mi:ss‘) from dual;将字符串数据转换成为日期类型select to_date(‘3月 7,1999‘,‘Month DD,yyyy‘) from dual;select to_char(hiredate,’yyyy-MM-dd day’) from emp• where rownum<10;将字符串转换为数值select to_number(‘1999‘) + 10 from dual;?
其他函数
nvl 值为空时显示某个值,否则显示自身select ename, sal,comm,nvl(comm,0),sal+nvl(comm,0) from emp;nvl2 参数1不为null,返回第二个参数,否则第三个参数select comm,nvl2(comm,comm,0) from emp;
聚合函数max最大值min最小值count,列总和sum,相加总和avg计算平均值
原文地址:https://www.cnblogs.com/nnnnmmmm/p/10822801.html
时间: 2024-10-17 22:17:20