大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
先不说你空值用0表示的问题
创新互联公司专注于企业全网整合营销推广、网站重做改版、纳雍网站定制设计、自适应品牌网站建设、H5技术、商城建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为纳雍等各大城市提供网站开发制作服务。
就是opdate=sysdate估计你也很难得到结果,sysdate表示系统当前时间,包含时分秒,你那个opdate怎么可能会和sysdate相等呢?
真的要是把空值用0表示的话,oracle中有nvl函数
select nvl(workbillid,0) from kf_workbill
意思就是把workbillid字段为空的显示成0,当然也可以显示成任何字符或者数字
友情提醒一下:
你那个opdate=sysdate是不是该改成
to_char(opdate,'yyyymmdd')=to_char(sysdate,'yyyymmdd')
小数点前面的0不显示可能是因为你的字段不是数值型的。
select to_number(column_name) from table_name;
如果只是缺少个别指标,完全可以参照楼上的Union all
如果缺少的指标比较多,则建议用创造编码表的方式解决
创建编码表t1
id name
1 80-90
2 70-80
3 60
select t1.name, nvl(t2.user_count, 0)
from t1,
(select case
when cj 80 and cj = 90 then
'1'
when cj 70 and cj = 80 then
'2'
when cj 70 and cj 60 then
'3'
else
null
end id,
count(distinct 学生ID) user_count
from 成绩表) t2
where t1.id = t2.id(+)