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

QQ登录

只需一步,快速开始

查看: 2361|回复: 3

[结贴] 怎么解决缺省值

[复制链接]

480

主题

1283

帖子

4472

积分

论坛元老

Rank: 8Rank: 8

积分
4472
QQ
发表于 2013-11-20 14:02:50 | 显示全部楼层 |阅读模式
版本: X5.2.4 小版本号:
数据库: MySQL 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 8 浏览器: Chrome
在ksql里
写如下语句

select workitem.fKeyValue as fKeyValue,sum(  fee.fFeeAmount * fee.fFeeCalculate ) as fFeeValue
    from workitem workitem
     optional  join fee fee on workitem.fKeyValue = fee.fFeeMaster
    group by workitem.fKeyValue



得出的结果如下

fKeyValue                                                         fFeeValue
'6B3466367BFB4CA3B5148BD3AD438BE4',    300.0000
'6BDD9EA65E824692B504A2E663821E2E',    null



怎么把那个null变成 0呢 ?





117

主题

771

帖子

1670

积分

金牌会员

Rank: 6Rank: 6

积分
1670
发表于 2013-11-20 14:08:33 | 显示全部楼层
本帖最后由 smarter 于 2013-11-20 14:12 编辑

使用   sum( ISNULL(fee.fFeeAmount, 0) * ISNULL(fee.fFeeCalculate, 0) )  AS  fFeeValue 试一下


本人非X5官方技术,回复内容仅供参考。
回复 支持 反对

使用道具 举报

12

主题

211

帖子

396

积分

中级会员

Rank: 3Rank: 3

积分
396
QQ
发表于 2013-11-20 14:09:49 | 显示全部楼层
本帖最后由 aiesi 于 2013-11-20 14:11 编辑

decode(fFeeValue ,null,0,fFeeValue)
decode((sum(  fee.fFeeAmount * fee.fFeeCalculate ) ),null,0,(sum(  fee.fFeeAmount * fee.fFeeCalculate ) ))

评分

参与人数 1 +3 收起 理由
jishuang + 3 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

480

主题

1283

帖子

4472

积分

论坛元老

Rank: 8Rank: 8

积分
4472
QQ
 楼主| 发表于 2013-11-20 22:31:17 | 显示全部楼层
上面的答案都不对
要用下面的方法
KSQL里没有直接提供IsNull,但是提供了coalesce,与oracle中的同名函数用法一致,可以替代IsNull。
并提供跨数据库平台的能力,也就是说与物理数据库无关,即使是SQLServer,KSQL也是用这个函数。

Object coalesce(Object values)
返回第一个非空的参数
coalesce(1, 'b', 'ccc')
Parameters:
  {Object} values 变参
Returns:
  {Object}

无论如何,谢谢
请结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-23 17:44 , Processed in 0.089939 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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