1. WMSYS.WM_CONCAT 函數的用法
http://blog.sina.com.cn/s/blog_5c4736800100l2qw.html
2. Oracle over函数
http://www.cnblogs.com/umen/archive/2011/04/11/2012136.html
Oracle 左填充:
lpad用法
lpad(字段名,填充长度,填充的字符)
Oracle 右填充:
右填充跟左填充很类似,右填充的用法:
RPAD(string,Length[,'set'])
LPAD(string,Length[,'set'])
RPAD在列的右边粘贴字符;
LPAD在列的左边粘贴字符。
例子:
SQL>select RPAD(City,35,'.'),temperature from weather;
RPAD(City,35,'.') temperature
------------------------------------------
CLEVELAND...... 85
LOS ANGELES.. 81
.........................
(即不够35个字符用'.'填满)
http://blog.sina.com.cn/s/blog_5c4736800100l2qw.html
2. Oracle over函数
http://www.cnblogs.com/umen/archive/2011/04/11/2012136.html
Oracle 左填充:
lpad用法
lpad(字段名,填充长度,填充的字符)
Oracle 右填充:
右填充跟左填充很类似,右填充的用法:
RPAD(string,Length[,'set'])
LPAD(string,Length[,'set'])
RPAD在列的右边粘贴字符;
LPAD在列的左边粘贴字符。
例子:
SQL>select RPAD(City,35,'.'),temperature from weather;
RPAD(City,35,'.') temperature
------------------------------------------
CLEVELAND...... 85
LOS ANGELES.. 81
.........................
(即不够35个字符用'.'填满)
-------------------------------------------------------------------------------------
3. sign函数说明:
取数字n的符号,大于0返回1,小于0返回-1,等于0返回0
示例:
select sign( 100 ),sign(- 100 ),sign( 0 ) from dual;
SIGN(100) SIGN(-100) SIGN(0)
———- ———- ———-
1 -1 0
比较大小
select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
取最大值
select greatest('3', '5') from dual
4. RETURNING into语句
ORACLE的DML语句中可以指定RETURNING语句。使用起来也很简单,和SELECT INTO
语句没有多大区别。RETURNING语句的使用在很多情况下可以简化PL/SQL编程。
DELETE操作:RETURNING返回的是DELETE之前的结果;
INSERT操作:RETURNING返回的是INSERT之后的结果;
UPDATE操作:的RETURNING语句是返回UPDATE操作之后的结果。
INSERT INTO SELECT语句不支持。
MERGE语句不支持RETURNING语句。
就是可以按上面的规则,对变量赋值。
update f_firmfunds set donebalance = donebalance + p_amount where firmid = p_firmid
returning donebalance into v_donebalance;