常用函数
函数 | 说明 |
---|---|
ASCII(X) | 返回字符X的ASCII码 |
CONCAT(X,Y) | 连接字符串X和Y |
INSTR(X,STR[,START][,N) | 从X中查找str,可以指定从start开始,也可以指定从n开始 |
LENGTH(X) | 返回X的长度 |
LOWER(X) | X转换成小写 |
UPPER(X) | X转换成大写 |
LTRIM(X[,TRIM_STR]) | 把X的左边截去trim_str字符串,缺省截去空格 |
RTRIM(X[,TRIM_STR]) | 把X的右边截去trim_str字符串,缺省截去空格 |
TRIM([TRIM_STR FROM]X) | 把X的两边截去trim_str字符串,缺省截去空格 |
REPLACE(X,old,new) | 在X中查找old,并替换成new |
SUBSTR(X,start[,length]) | 返回X的字串,从start处开始,截取length个字符,缺省length,默认到结尾 |
NVL(X,VALUE) | 如果X为空,返回value,否则返回X |
NVL2(x,value1,value2) | 如果x非空,返回value1,否则返回value2 |
lpad(string,n,[pad_string]) | string:字符或者参数;n:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;pad_string:可选参数,这个字符串是要粘贴到string的左边,若这个参数未写,lpad函数将会在string的左边粘贴空格。 |
Rpad(string,n,[pad_string]) | 和lpad相反 |
to_char | 参考https://blog.csdn.net/xiaohuihui821/article/details/78652958 |
mod(m,n) | m除以n的余数,如果n是0,返回m |
decode (expression, search_1, result_1, search_2, result_2, …, search_n, result_n) | 如果expression等于search_1,则返回result_1,以此类推 |
trunc | 参考https://www.cnblogs.com/zfyouxi/p/5236336.html |
lpad('tech', 7); 将返回' tech'
lpad('tech', 2); 将返回'te'
lpad('tech', 8, '0'); 将返回'0000tech'
lpad('tech on the net', 15, 'z'); 将返回'tech on the net'
lpad('tech on the net', 16, 'z'); 将返回'ztech on the net'
不等于:<>,!=,^=
单行注释(中间没有空格):- -
多行注释:/**/
case函数
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END
Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。
oracle查询空值
select * from emp where mgr is null 或select * from emp where mgr <=0
oracle查询日期
where to_char(t.pleg_date,'yyyy-mm-dd')='2019-05-28'
oracle分页查询
在xml中,‘<’和‘>’符号需要使用转义字符<和>
select * from (select x,ROWNUM rn from 表名 where ROWNUM<=endNum) where rn>=startNum