1. translate()
字符串搜索和替换
2. row_number() over(partition by column1 order by column2)
根据column1分组,根据column2排序后,对每组内部排序结果顺序编号。
rank() over(partition by column1 order by column2)
根据column1分组,根据column2排序后, 对每组内部排序结果跳跃编号,如有两个第二名时接下来就是第四名。
dense_rank()
是连续排序,有两个第二名时仍然跟着第三名。相比之下row_number是没有重复值的。
lag(arg1,arg2,arg3) arg1
是从其他行返回的表达式 arg2是希望检索的当前行分区的偏移量,是一个正的偏移量;arg3是在arg2表示的数目超出了分组的范围时返回的值。
3. decode()(字段或字段的运算,值1,值2,值3)
这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多
4. nvl(column,value)
以值替换空值,例:NVL(column1,'1-Jan-2000') != NVL(column2,'1-Jan-2000'),null在数据库中表示值不确定,null和null不能比较大小,可以采用这种方法来比较~
5. greatest()
返回最大值
least()
返回最小值
***********************以下属常见函数,可以选择性忽视,不全的部分参考《函数速查》***********************************************************************************
6. round() 四舍五入
7.trim() 截流
8.upper() 大写
lowwer() 小写
9.concat() 粘贴
10.substr() 子字符串
参考文献:[1] 《SQL语言艺术》
[2] 《oracle函数速查》
[3] http://hi.baidu.com/122439049/blog/item/0c9c48131b2734d5f7039e13.html
[4] http://www.cnblogs.com/ZHF/archive/2008/09/12/1289619.html