起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 467|回复: 0

[分享] 如何在Ksql里实现条件语句

[复制链接]

25

主题

77

帖子

215

积分

中级会员

Rank: 3Rank: 3

积分
215
QQ
发表于 2018-5-19 10:50:51 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
在Bex5框架里,使用Ksql非常方便,特别是报表应用。
但是Ksql能够使用的函数有限,特别是无法使用条件判断来完成Select操作。
实际报表会有不少业务上的条件取数需求,简单的如字段A的值为Buy或Sell,字段B根据字段A判断取值,如果A为Buy,B就为Sell,反之亦然。
可以用Replace来做,replace('BS',字段A,'')
但更复杂的情况是否也可以用Ksql自带函数实现条件判断呢?实践过程中发现,配合concat和replace函数,基本可以实现任何复杂的条件语句。
比如有A,B,C三个字段,B字段是币种,A和C为Amount,要求B字段为CNY时取A,非CNY时取C:
replace(replace(concat(A,B,C),concat('CNY',C),''),concat(A,B),'')
更复杂的,比如不同情况有不同Format需求的,也可以通过上述方法实现,大家各自研究就行了。而且实测并不影响性能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2019-10-21 10:12 , Processed in 0.058913 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表