create or replace function get_zq(vcorderno_t in varchar2 ,flag_str in varchar2) return integer is

FunctionResult integer;

resInt integer;

sqlstr varchar2(2000);

sqlstr_yk varchar2(2000); --移库天数

sqlstr_sz varchar2(2000); --设置天数

sqlstr_pb varchar2(2000); --配板周期

sqlstr_zt varchar2(2000); --在途天数

sqlstr_zt1 varchar2(2000); --在途天数

sqlstr_ps varchar2(2000); --配送天数

sqlstr_pre varchar2(2000); --预计发运周期=移库天数+设置天数+在途天数+配送天数

sqlstr_tb varchar2(2000);

begin

FunctionResult:=0;

sqlstr_tb:=' FROM rgorder a,'||

' rgorderdetail b,'||

' bistyle c,'||

' bifirststyle e,'||

' bidest f, '||

' bitranscity g'||

' where rownum=1 and a.vcorderkind IN (''正常'', ''中转库'') '||

' and a.vcorderno = b.vcorderno(+) '||

' and a.vcstyleno = c.vcstyleno'||

' and c.vcfstyleno = e.vcfstyleno '||

' and a.cdestno = f.cdestno'||

' and f.ctcityno = g.ctcityno '||

' and a.ctransno <> ''003'' '||

' and a.vcorderno=:1';

--移库天数

sqlstr_yk:='(case when get_isbf(a.vctcitynameb)=1 then 0'||

' when bdirect>=1 then 1'||

' else 0'||

' end)';

--设置天数

sqlstr_sz:='(CASE'||

' when get_isbf(a.vctcitynameb)=1 then 2 '||

' when b.cfleetno=''Z061'' then 2 '||

' WHEN a.ctransno = ''001'' THEN 1'||

' WHEN e.vcfacname=''股份'' then 2'||

' when e.vcfacname=''大乘'' then 1'||

' else dccyc-1'||

' END)';

--配板周期=移库天数+设置天数

sqlstr_pb:= sqlstr_yk ||'+'||sqlstr_sz;

--在途 天数

sqlstr_zt:=' (CASE '||

--后段全部3天在途

' when get_isbf(a.vctcitynameb)=1 then 1'||

' when b.cfleetno=''Z061'' then g.dcrailcyc'||

' WHEN bbtrans=1 THEN CEIL(get_dckim(a.vcorderno)/ 550)'||

' else CEIL(get_dckim(a.vcorderno)/ 550)+2'||

' END)' ;

--配送

sqlstr_ps:='(case when b.cfleetno=''Z061'' and bbtrans=1 then 2+3'||

' WHEN bbtrans=1 then 2'||

' else 0 '||

' end)';

--预计发运=移库天数+配板天数+在途天数+配送天数

sqlstr_pre:=sqlstr_yk||'+'||sqlstr_sz||'+'||sqlstr_zt||'+'||sqlstr_ps;

if flag_str='pbzq' then

begin

sqlstr:=' select '||sqlstr_pb||sqlstr_tb;

execute immediate sqlstr into resInt using vcorderno_t;

end;

elsif flag_str='yk_zq' then

begin

sqlstr:=' select '||sqlstr_yk||sqlstr_tb;

execute immediate sqlstr into resInt using vcorderno_t;

end;

elsif flag_str='zt_fyzq' then

begin

sqlstr:=' select '||sqlstr_zt||sqlstr_tb;

execute immediate sqlstr into resInt using vcorderno_t;

end;

elsif flag_str='ps_zq' then

begin

sqlstr:=' select '||sqlstr_ps||sqlstr_tb;

execute immediate sqlstr into resInt using vcorderno_t;

end;

elsif flag_str='pre_fy' then

begin

sqlstr:=' select '||sqlstr_pre||sqlstr_tb;

execute immediate sqlstr into resInt using vcorderno_t;

end;

else

resInt:=0;

end if;

FunctionResult:=resInt;

return(FunctionResult);

end get_zq;

Oracle 语句连接字符,oracle拼接字符串当sql语句相关推荐

  1. 根据导出的查询结果拼接字符串,生成sql语句并保存到txt文件中

    import os os.chdir("C:/") path = os.getcwd() print(path) f = open("sql.csv") # p ...

  2. MySQL 批量生成 SQL 脚本语句解决实际的业务需求/如何拼接字符串/拼接字符串的 SQL 语句

    文章目录 实际需求 分析思路 写拼接 SQL 脚本的脚本语句 执行得到脚本语句 保存成 SQL 脚本文件 实际需求 有些行政区域的字段 area_fullname 是空的,如何补全呢?如下所示: 分析 ...

  3. Oracle查询某一天日期数据的SQL语句的几种写法

    本文章向大家介绍Oracle查询某一天日期数据的SQL语句的几种写法,主要包括Oracle查询某一天日期数据的SQL语句的几种写法使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值, ...

  4. oracle添加表的索引,oracle批量添加指定表前缀的索引SQL语句

    oracle批量添加指定表前缀的索引SQL语句 需要输入用户名,表空间,索引个数,表名前缀,过滤的表名后缀 ##需要输入用户名,表空间,索引个数,表名前缀,过滤的表名后缀 declare --用户名 ...

  5. 【oracle】查看数据库最近执行了哪些sql语句

    前言 oracle 12.1.0.2.0 为了确定功能是否生效,需要查看数据库最近执行的sql语句,在里面找到想要的SQL语句 查看数据库最近执行了哪些sql语句 # 查看1小时内执行的sql语句,并 ...

  6. Oracle查询某个日期的周一到周日SQL语句

    Oracle查询某个日期的周一到周日SQL语句 SELECT TRUNC(to_date('2021-12-27','YYYY-MM-DD'),'IW')+(ROWNUM-1)*6 FROM dual ...

  7. MySql 替换字段中字符串的sql语句

    前言 打代码不耽误我 听歌,看小说,玩游戏.         //  代表注释,写习惯了,看着舒服,带有//的那一行是我写的理解,请不要搞错了 最终语句,可以自行修改使用      --------- ...

  8. java sql in语句_Java字符串转Sql语句In格式工具方法

    /** * 工具-字符串-转换Sql查询IN中使用的格式 * 效果:a,b==>'a','b' * @param str * @return */ public String strToDbin ...

  9. python处理字符串(SQL语句批量新增)

    python处理字符串(SQL语句批量新增) 一个有许多url字符串需要改为单个的url一次存入mysql数据库 ##字符串 str1 = """http://www.s ...

最新文章

  1. springmvc java中转发_Springmvc中的转发重定向和拦截器的示例
  2. Netty 简单服务器 (三)
  3. Linux Device和Driver注册过程,以及Probe的时机
  4. 如何用ABAP代码的方式弹出SPRO里的customizing activity
  5. uvm 形式验证_IC设计职位详解之“数字验证工程师”就业必学课程
  6. Python学习【第1篇】:Python简介以及入门
  7. linux 如何查看进程内用户虚拟空间分布
  8. delphi2010中FastReport的安装方法
  9. azure kinect三维点云_三维重建技术,你捋清楚了吗?本文适合小白
  10. Cocos2d-x音乐和音效概述
  11. gdb对应vc调试命令
  12. EasyUI-增删改操作
  13. 查看Linux服务器网络状态
  14. 徐培成2017大数据Hadoop经典案例-徐培成-专题视频课程
  15. EPSON清零软件sscserve40使用方法
  16. 姚前:新型货币战争才刚刚开始
  17. ppt母版的神奇用法
  18. java中的方法基础
  19. Linux下socket编程之UDP简单实现
  20. 用Biome-BGC模型如何模拟水循环过程

热门文章

  1. php读sqlite速度,SQLite数据库操作速度和性能评测
  2. 设计灵感|见过如此吸睛的,单色调Banner设计么?
  3. ise 时钟约束_ISE时序约束笔记2——Global Timing Constraints
  4. WindowsAPI中W和A的区别
  5. 解析tid数据并绘制折线图(python)
  6. 服务器体系(SMP, NUMA, MPP)与共享存储器架构(UMA和NUMA)
  7. 正则化检测TR069的参数路径是否合法
  8. python字典保存为excel_python将字典列表导出为Excel文件的方法
  9. java中printreader类_Java基本字符流输入输出类的使用
  10. springboot+mybatis+mysql(增删改查xml入门编程)