oracle if else 判断
CREATE OR REPLACE FUNCTION fn_GetClassifyBymxmjazfs (v_azfs varchar2,v_mx varchar2,v_mj varchar2) return varchar2 is v_Classify varchar2(2000); v_unit lyxxb.lyid%type; SQL_GetUnit varchar2(2000); begin SQL_GetUnit:='SELECT lyid FROM lyxxb'; execute immediate SQL_GetUnit into v_unit;--执行oracle 方法 -- AZFS - '01' -- 判断墓型或者面积不属于双0.5 10 -- azfs = '骨灰林 20 -- azfs = 骨灰墙 骨灰郎 骨灰庭 30 -- azfs = '01' 且墓型或面积属于双0.5 41 -- azfs = '20' 42 --SELECT * FROM AZFS -- 太子峪 if v_unit='TZY' then begin if v_azfs='01' AND v_mx <>'福荣墓' then v_Classify:='10'; return v_Classify; elsif v_azfs='04' then v_Classify:='20'; return v_Classify; elsif v_azfs='02' OR v_azfs='03' then v_Classify:='30'; return v_Classify; elsif v_azfs='01' AND v_mx='福荣墓' then v_Classify:='41'; return v_Classify; elsif v_azfs='20' then v_Classify:='42'; return v_Classify; end if; end; --金山 elsif v_unit='JS' then begin v_Classify:='10'; return v_Classify; end; --温泉 elsif v_unit='WQMY' then begin v_Classify:='10'; return v_Classify; end; --八达岭 elsif v_unit='BDL' then begin v_Classify:='10'; return v_Classify; end; --朝阳 elsif v_unit='CYLY' then begin v_Classify:='10'; return v_Classify; end; --宝云岭 elsif v_unit='BYL' then begin v_Classify:='10'; return v_Classify; end; --天慈 elsif v_unit='TC' then begin v_Classify:='10'; return v_Classify; end; --通惠 elsif v_unit='THLY' then begin v_Classify:='10'; return v_Classify; end; end if; --return v_Classify; exception when others then dbms_output.put_line('error'); return -1; end fn_GetClassifyBymxmjazfs; / SELECT fn_GetClassifyBymxmjazfs('01','福荣墓1','0.48') FROM dual;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律