Oracle系统函数、自定义函数、关键字


题记:收集一些在工作中常用的Oracle知识点,不断的更新,不断的积累,就当作自己的记事本吧。

一些关键字

IS NOT NULL,判断字段否为空

  1. select * from t_user u where u.name is not null  

2 CASE WHEN... THEN ... ELSE ... END  ,条件语句 

  1. SELECT  CASE WHEN '条件' IS NOT NULL THEN '条件成立' ELSE '条件不成立' END AS 结果 FROM t_user  

3 EXITS  ,  NOT EXITS,   判断是否存在,通常放到WHERE 的后面

一些系统函数

1.    TO_CHAR()

  1. select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss'FROM DUAL  

显示 :  2012-06-15 10:11:45

2.  TO_DATE()   转为为某种格式的时间

  1. select to_date('$时间参数$ 0:0:0','yyyy-mm-dd hh24:mi:ss')    from dual    
时间参数可以为 :  2012-06-15

一些自定义函数

1. 写一个工作用到的函数CHECK_DEMAND_IS_NOTICE,该函数需传入一个NUMBER类型的数据,结果返回一个 VARCHAR2的类型数据

  1. CREATE OR REPLACE FUNCTION CHECK_DEMAND_IS_NOTICE(V_DE_ID IN NUMBER) RETURN VARCHAR2  
  2. --检查需求单是否已经通知   
  3. IS  
  4.     --未被通知的待装单数量   
  5.     V_NOT_NOTICE_COUNT NUMBER(12);  
  6. BEGIN  
  7.     --查询   
  8.     SELECT COUNT(1) INTO V_NOT_NOTICE_COUNT FROM ZY_POC_WAIT_ORDER W WHERE IS_NOTICE = '0'  
  9.     AND EXISTS(  
  10.         SELECT 1 FROM ZY_MAP_DEMAND_WAIT_ORDER Z WHERE Z.DE_ID =V_DE_ID AND W.ID = WAIT_ORDER_ID  
  11.     );  
  12.     --如果大于0则需求单未被通知   
  13.     IF V_NOT_NOTICE_COUNT >0 THEN  
  14.         RETURN '0';  
  15.     END IF;  
  16.     RETURN '1';  
  17. END;  

相关内容

    暂无相关文章