参看了文章,
https://blog.csdn.net/qq_35515661/article/details/127436761
用的是${xxx}
方式,要多输入3个字符。从简洁的角度讲是不能接受的。于是便有了我下面的内容。
执行一个sql输入常量值是常有的事情,
比如我这个计算物流费用的对比,要对多少重量计算,如果常量的话就要替换掉6处,这个ctrl+h可以完美完成任务,但是不科学。
用参数的方式::重量
select '德邦' 公司
, regexp_replace(省份, '省|壮族自治区|回族自治区|维吾尔自治区|自治区', '') 省份
, 首重
, 首重资费 首费
, 单位资费1 续费
, 0 其它
, 首重资费 + case when :重量 - 首重 > 0 then (:重量 - 首重) * t.单位资费1 else 0 end 费用
from a_day.物流策略 t
where t.物流公司 = '天猫-德邦(艾迪嘉)'
union all
select '德邦1' 公司, 省份, 首重, 首费, 续重, 0 其它, 首费 + 2 + case when :重量 - 首重 > 0 then (:重量 - 首重) * t.续重 else 0 end 费用
from a_day.cl德邦1 t
union all
select '德邦2' 公司, 省份, 首重, 首费, 续重, 0 其它, 首费 + 2 + case when :重量 - 首重 > 0 then (:重量 - 首重) * t.续重 else 0 end 费用
from a_day.cl德邦2 t;
结果: