Oracle系统函数、自定义函数、关键字
Oracle系统函数、自定义函数、关键字
题记:收集一些在工作中常用的Oracle知识点,不断的更新,不断的积累,就当作自己的记事本吧。
一些关键字
1 IS NOT NULL,判断字段否为空
- select * from t_user u where u.name is not null
2 CASE WHEN... THEN ... ELSE ... END ,条件语句
- SELECT CASE WHEN '条件' IS NOT NULL THEN '条件成立' ELSE '条件不成立' END AS 结果 FROM t_user
3 EXITS , NOT EXITS, 判断是否存在,通常放到WHERE 的后面
一些系统函数
1. TO_CHAR()
- select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') FROM DUAL
显示 : 2012-06-15 10:11:45
2. TO_DATE() 转为为某种格式的时间
- select to_date('$时间参数$ 0:0:0','yyyy-mm-dd hh24:mi:ss') from dual
一些自定义函数
1. 写一个工作用到的函数CHECK_DEMAND_IS_NOTICE,该函数需传入一个NUMBER类型的数据,结果返回一个 VARCHAR2的类型数据
- 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(
- 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;
评论暂时关闭