永发信息网

java和数据库空值的问题

答案:5  悬赏:20  手机版
解决时间 2021-02-19 04:38
  • 提问者网友:咪咪
  • 2021-02-18 14:41
当数据库中查询出空值的时候就停止输出了 我要怎么写语句 让sql语句查询出空值的时候输出为空 或者查询出空值的时候强制转换成一个固定值输出 (不改动数据库的情况下)》》》谢谢各位大神 ————————小弟在此给跪了~~~~~~

在线等啊 十万火急~~~
最佳答案
  • 五星知识达人网友:往事隔山水
  • 2021-02-18 15:37
我不知道你用什么数据库.还有你的问题不太清晰.
oracle里面有个函数叫做 nvl
nvl(t.a,'hello') 当t.a字段为null时,会得到hello字符串
全部回答
  • 1楼网友:归鹤鸣
  • 2021-02-18 19:13
写成下面这个样子应该就可以了 -------------------------------------------- string yearstring = ""; string datestring = ""; int year=rs.getint("year"); date date=rs.getdate("date"); if(!"".equals(year+"")){ yearstring = string.valueof(year); } if(date != null){ datestring = string.valueof(date); } -------------------------------------- 有其他问题请向我求救或许可以帮你。
  • 2楼网友:深街酒徒
  • 2021-02-18 18:21
可以用case when (不知你用的是否是Oracle数据库),格式为:case when 你要输出的字段 is null then '' else 你要输出的字段 end
  • 3楼网友:躲不过心动
  • 2021-02-18 16:59
用nvl函数就可以实现: 例: t_person表 有 name,age字段, number类型吧, 当有age的值为空的时候,我们默认给定20. name:张三 ,age: select name,nvl(age,20) from t_person commit; 查询后为: name:张三,age:20
  • 4楼网友:三千妖杀
  • 2021-02-18 16:34
我最近也是正在学jdbc,我用java输出数据库的时候没有遇到你说的问题啊,是null就输出null了,你可以参考下我的代码,sql语句自己改哦 public void query(){ String sql="select * from emp"; try { ResultSet rs = st.executeQuery(sql); rs.last(); int total=rs.getRow(); rs.beforeFirst(); ResultSetMetaData rsmd=rs.getMetaData(); int columnCount = rsmd.getColumnCount(); String[] head =new String[columnCount]; for(int i=1;i<=columnCount;i++){ head[i-1]=rsmd.getColumnName(i); } String[][] body=new String[total][columnCount]; int j=0; while(rs.next()){ String[] col=new String[columnCount]; for(int k=0;k
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯