CREATE OR REPLACE FUNCTION SF_SST_YSSFJZ(P_GHHBID varchar2) return number is --0 不就诊 1 正常 -- MODIFICATION HISTORY -- Person Date Comments -- zhangyc 2014.05.05 create LS_COUNT0 number(10); LS_RETURN number(10); LS_ERRORS varchar2(40); P_ERRMSG varchar2(200); begin LS_COUNT0:=0; --计数 LS_RETURN:=0; select count(1) into LS_RETURN from vw_sf_ysghhb where GHHBID=P_GHHBID AND GHMZSJ >= to_char(sysdate-1, 'YYYYMMDD' ) and TZBZ00 = '0' and ((((GHXHS0-YYXHS0)>(GHYGHS-GHYYHS)) and (SFZJGH='0')) OR (SFZJGH='1')) and ( (GHJSSJ >= GHQSSJ and GHJSSJ >= to_char(sysdate,'HH24:MI:SS') and GHMZSJ = to_char(sysdate,'YYYYMMDD') ) or (GHJSSJ < GHQSSJ and ((GHMZSJ = to_char(sysdate-1, 'YYYYMMDD' ) and GHQSSJ <= to_char(sysdate,'HH24:MI:SS' ) ) or (GHMZSJ = to_char(sysdate-1, 'YYYYMMDD' ) and GHJSSJ >= to_char(sysdate,'HH24:MI:SS' ) ) ) ) ) ; return nvl(LS_RETURN,0); exception when no_data_found then P_ERRMSG:=substrb(P_ERRMSG||'判定医生是否就诊失败!'||SQLERRM||'错误位置:'||Ls_Errors,1,255); when others then P_ERRMSG:=substrb(P_ERRMSG||'判定医生是否就诊失败!'||SQLERRM||'错误位置:'||Ls_Errors,1,255); end; /