作者:泰山长征 | 来源:互联网 | 2014-07-11 17:33
oracle小记之一些系统函数、自定义函数、关键字题记:收集一些在工作中常用的oracle知识点,不断的更新,不断的积累,就当作自己的记事本吧。一些关键字1ISNOTNULL,判断字段否为空[sql]select*from...SyntaxHighlighter.all();
oracle小记之一些
系统函数、自定义函数、关键字
题记:收集一些在工作中常用的oracle知识点,不断的更新,不断的积累,就当作自己的记事本吧。
一些关键字
1 IS NOT NULL,判断字段否为空
[sql]
select * from t_user u where u.name is not null
2 CASE WHEN... THEN ... ELSE ... END ,条件语句
[sql]
SELECT CASE WHEN '条件' IS NOT NULL THEN '条件成立' ELSE '条件不成立' END AS 结果 FROM t_user
3 EXITS , NOT EXITS, 判断是否存在,通常放到WHERE 的后面
一些系统函数
1. TO_CHAR()
[sql]
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') FROM DUAL
显示 : 2012-06-15 10:11:45
www.2cto.com
2. TO_DATE() 转为为某种格式的时间
[sql]
select to_date('$时间参数$ 0:0:0','yyyy-mm-dd hh24:mi:ss') from dual
时间参数可以为 : 2012-06-15
一些自定义函数
1. 写一个工作用到的函数CHECK_DEMAND_IS_NOTICE,该函数需传入一个NUMBER类型的数据,结果返回一个 VARCHAR2的类型数据
[sql]
CREATE OR REPLACE FUNCTION CHECK_DEMAND_IS_NOTICE(V_DE_ID IN NUMBER) RETURN VARCHAR2
--检查需求单是否已经通知
IS
--未被通知的待装单数量
V_NOT_NOTICE_COUNT NUMBER(12);
BEGIN
--查询
SELECT COUNT(1) INTO V_NOT_NOTICE_COUNT FROM ZY_POC_WAIT_ORDER W WHERE IS_NOTICE = '0'
AND EXISTS( www.2cto.com
SELECT 1 FROM ZY_MAP_DEMAND_WAIT_ORDER Z WHERE Z.DE_ID =V_DE_ID AND W.ID = WAIT_ORDER_ID
);
--如果大于0则需求单未被通知
IF V_NOT_NOTICE_COUNT >0 THEN
RETURN '0';
END IF;
RETURN '1';
END;
作者 baolong47