一、映射
1. 某个字段与某个字段加起来一起,有时需要中间连接符号-/_。
某字段 || '-' || 某字段
2. 当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3。
decode(条件,值,返回值1,值2,返回值2,...值n,返回值n,缺省值)
3. 取字符串中的字符,除去数字和字母。
replace(translate(DZ_T_XF_WX_XFMX.MCH_NAME,'0123456789qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM_',' '),' ','')
4. 类型转换。
to_char(V_KP_DATA.PURCHASE_DATE, 'yyyy/mm/dd')
to_char(sysdate, 'yyyy-mm-dd')
5. 生成不重复的数据,当数据库某字段设置为唯一,则可用次生成(比如主键)。
sys_guid()
6. 选择。
case replace(V_JK_XSXXB.PYCC,' ','')
when '专科-扩招-幼师' then '10'
when '专科-扩招-学历提升专项' then '11'
else ''
end
或者
case
when T_KY_JLCG.ZLLX='实用新型' then '2'
when T_KY_JLCG.ZLLX='外观设计' then '3'
else ''
end
7.abs取绝对值。
abs(T_YKT_GRJY.JYJE/100)
8. 截取某某长度,从a开始,长度为b。
substr(__, a ,b )
9.
'20'||substr(pay_time,8,2)||'-'||substr(pay_time,4,2)||'-'||substr(pay_time,4,2)||' '||substr(pay_time,11,2)||':'||substr(pay_time,14,2)||':'||substr(pay_time,17,2)
from T_YKT_WXXFJL
where pay_time like '%上午%'
'20'||substr(pay_time,8,2)||'-'||substr(pay_time,4,2)||'-'||substr(pay_time,4,2)||' '||((substr(pay_time,11,2))+12)||':'||substr(pay_time,14,2)||':'||substr(pay_time,17,2)
from T_YKT_WXXFJL
where pay_time like '%下午%'
10.
<%=snpRef.getObjectName("L", "T_YKT_GRJY_SEQ", "D")%>.NEXTVAL
二、过滤器
1. 某值为空或不为空。
某字段 is null 或者 某字段 is not null
2. 限定某字段数值大小。
length(某字段) < 某值
3. exists表示()内子查询语句返回结果不为空说明where条件成立就会执行主sql语句,如果为空就表示where条件不成立,sql语句就不会执行。
exists(select 1 from 某表 where __=__)
例子:
exists (select 1 from T_BZKS where t_bzks.dwdm=t_xx_dw.dwdm )
4. 截取某某长度,从a开始,长度为b。
substr(某字段, a ,b )