Oracle函数

Oracle函数

merge into

merge into用法形式:

MERGE INTO 表1 USING 表2 on  表1.列=表2.列  --- 判断表1和表2是否满足on中的判定条件;表1和表2也可以更换为查询语句
WHEN MATCHED THEN         ---  满足执行UPDATE操作
UPDATE SQL ....
WHEN NOT MATCHED THEN     --- 不满足执行INSERT操作(可省略)
INSERT SQL ...

 

例如:表1为商品表,表2为折扣表,现在要求:如果商品表中的商品在折扣表中,则将商品表中的价格更改为折扣价格

 

MERGE INTO T_shopping S USING T_discount D ON S.goodID=D.goodID
WHEN MATCHED THEN
UPDATE SET S.price=D.price;
commit;

 

row_number() over

row_number() over用法形式:

 

ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)  --从1开始,为按组排序的每条记录添加一个序列号 只能用于select和order by子句中
​
-- 形式1
ROW_NUMBER() OVER(ORDER BY COLUMN)     -- 不分组排序
​
-- 形式2
ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2)    -- 表示根据COL1分组,在分组内部根据COL2进行排序
​

 

与ROW_NUM的区别:ROW_NUM取得的序列是从0开始的,而ROW_NUM() 取得的序列从1开始

 

wmsys.wm_concat()

wmsys.wm_concat()用法形式

wmsys.wm_concat(column)     ---  进行字段合并

表:t_emp

 

执行查询语句:

SELECT "NUM", wmsys.wm_concat("ename"|| ',') enames from "t_emp" GROUP BY "NUM";  --- 在函数内,可进行字符串拼接

结果:

 

STDDEV_POP()、STDDEV()、STDDEV_SAMP()

 

参考链接:https://blog.csdn.net/wen_demon/article/details/34852333


版权声明:本文为Kings_boy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。