1. nvl 函数的妙用
当传入参数比较多,切不要求必输的情况下,在一个sql中即在不使用字符串拼接动态sql的情况下使用nvl函数使非必要参数 对应的 字段 作为条件 使之失效。例如:
select name, sex, address from t_student where name like '%明%' and nation = nvl(p_nation, nation);
解释下这个sql语句:当我只需要查询名字中有“明”字的学生,不需要看国籍,则p_nation传空,此时nation = xx 条件失效;反之p_nation不为空,查询条件就变成2个了,即既符合名字中带有“明”字的又属于某个国籍的。
其实很多时候nvl 不同用法还是挺多的。灵活运用。