oracle小记之一些系统函数、自定义函数、关键字(20120719更新)

题记:收集一些在工作中常用的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 EXISTS,  NOT EXISTS,   判断是否存在,通常放到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  

时间参数可以为 :  2012-06-15


3. TRUNC(SYSDATE)   返回当天的日期

select  trunc(sysdate) from dual
显示:  2012-7-4

4. NVL(str,replayStr)

如果str为null,则返回指定的relayStr值;如果str不为null,则返回str.





一些自定义函数


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;




 






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值