Oracle - SQL函数
- sql函数都是有返回值的
- 单行函数:对每一行输入值进行计算,得到相应的计算结果,返回给用户,也就是说,每行作为一个输入参数,经过函数计算得到每行的计算结果。单行函数可以写在SELECT、WHERE、ORDER BY子句中,可以嵌套。
一、字符函数
1.concat(strexp, strexp): 连接两个字符串
select concat(first_name,last_name) from employees;
2.substr(str,start_index,length) :从指定的位置截取指定长度的字符串
- Oracle索引从1开始,如果写0还是从1开始
- 第一个数是开始的位置,第二个数字是从截取位置开始截取的个数
select substr('abcdefg',6,2) from dual;
select substr('abcdefg',length('abcdefg')-1,2) from dual;
select substr('abcdefg',-2) from dual;
select substr(tel,1,3)||'*****'||substr(tel,-3) from employees;
3.lpad( string, padded_length, [ pad_string ] ) :将左边的字符串填充一些特定的字符,使其达到指定的长度
rpad( string, padded_length, [ pad_string ] ) :将右边的字符串填充一些特定的字符,使其达到指定的长度
- 默认情况下数值右对齐,字符串左对齐
- padded_length是填充之后的字符串长度,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;pad_string是填充字符串,如果这个参数未写,lpad函数将会在string的左边粘贴空格
select lpad(first_name,20,''), rpad(salary,10,'') from employees
4.instr(string1, string2):要截取的字符串在源字符串中的位置
select instr('absdefg','sd') from dual;
select instr('absdefg',