字段
--id--newsTitle(varchar)--newsFrom(varchar)
代码:
public class DaoTest {
public static void main(String[] args) {
Session session = HibernateUtil.getSession();
Transaction tx = null;
try {
tx=session.beginTransaction();
String kew1=null;
String kew2="";
Query query=session.createQuery("from Tnews t where t.newsFrom ='"+kew1+"'");
List list=query.list();
System.out.println(list.size());
tx.commit();
} catch (HibernateException e) {
e.printStackTrace();
if (tx!=null) {
tx.rollback();
}
} finally {
HibernateUtil.closeSession();
}
}
}
如:
mysql query browser 窗口
newssFrom
--娱乐头条
--NULL
--
--新闻早报
--NULL
--电影快报
--NULL
--南国早报
--
--广州日报
本人想查询字段newsFrom为空值或者无数据的 也就是没新闻来源的 新闻;
当取值kew1时,查询数据为0;
当取值kew2时,可以查出数据来,但不是我想要的,也就是查到2条数据,我想要查的是包含上面显示为NULL的的数据。,结果应该为5才行。
请问我错在那里,或者如何写sql查询语句等!
5 个解决方案
#1
建议能在贴子中把表结构,数据,期望的结果描述出来,这样获得解决方案的机会更多。
参考一下个人觉得比较好的提问方式。得到回复的机率会大一些
http://www.accessbbs.cn/bbs/viewthread.php?tid=19552
http://www.accessbbs.cn/bbs/viewthread.php?tid=19546
#2
表news
-----------------------------------------------------------
id newsTitle(varchar) newssFrom(varchar)
-----------------------------------------
1 美容 娱乐头条
2 公车事件 NULL
3 达人
4 山寨 新闻早报
5 武陵 NULL
6 成龙 电影快报
7 诸葛孔明 NULL
8 洪水 南国早报
9 张飞
10 亚运会 广州日报
-------------------------------------------
注:NULL为mysql query browser 窗口显示的,其实没数据的。
字段、数据及属性上面都有了。
期望把没有新闻来源(newsFrom)的新闻查询出来!
希望仁兄能看懂了,哈哈
#3
有新闻来源(newsFrom)的新闻查询出来!
你还是没有说明什么是 "没有新闻来源" , 所以我只能自己猜,结果如下。
mysql> select * from news;
+----+-----------+-----------+
| id | newsTitle | newssFrom |
+----+-----------+-----------+
| 1 | 美容 | 娱乐头条 |
| 2 | 公车事件 | NULL |
| 3 | 达人 | |
| 4 | 山寨 | 新闻早报 |
| 5 | 武陵 | NULL |
| 6 | 成龙 | 电影快报 |
| 7 | 诸葛孔明 | NULL |
| 8 | 洪水 | 南国早报 |
| 9 | 张飞 | |
| 10 | 亚运会 | 广州日报 |
+----+-----------+-----------+
10 rows in set (0.00 sec)
mysql>
mysql> select * from news where newssFrom is null or newssFrom='';
+----+-----------+-----------+
| id | newsTitle | newssFrom |
+----+-----------+-----------+
| 2 | 公车事件 | NULL |
| 3 | 达人 | |
| 5 | 武陵 | NULL |
| 7 | 诸葛孔明 | NULL |
| 9 | 张飞 | |
+----+-----------+-----------+
5 rows in set (0.00 sec)
mysql>
#4
其实就像你上面写的吗,就是查询字段newsFrom为 ' '和NULL的news(新闻)。
很疑自己的表达能力了,哈!
谢谢了!
很疑自己的表达能力了,哈!
谢谢了!
#5
谢谢,解决这个问题了
Query query=session.createQuery("from Tnews t where t.newsFrom is '"+kew2+"' or t.newsFrom is null" )
可以查出5行数据
Query query=session.createQuery("from Tnews t where t.newsFrom is '"+kew2+"' or t.newsFrom is null" )
可以查出5行数据
#1
建议能在贴子中把表结构,数据,期望的结果描述出来,这样获得解决方案的机会更多。
参考一下个人觉得比较好的提问方式。得到回复的机率会大一些
http://www.accessbbs.cn/bbs/viewthread.php?tid=19552
http://www.accessbbs.cn/bbs/viewthread.php?tid=19546
#2
表news
-----------------------------------------------------------
id newsTitle(varchar) newssFrom(varchar)
-----------------------------------------
1 美容 娱乐头条
2 公车事件 NULL
3 达人
4 山寨 新闻早报
5 武陵 NULL
6 成龙 电影快报
7 诸葛孔明 NULL
8 洪水 南国早报
9 张飞
10 亚运会 广州日报
-------------------------------------------
注:NULL为mysql query browser 窗口显示的,其实没数据的。
字段、数据及属性上面都有了。
期望把没有新闻来源(newsFrom)的新闻查询出来!
希望仁兄能看懂了,哈哈
#3
有新闻来源(newsFrom)的新闻查询出来!
你还是没有说明什么是 "没有新闻来源" , 所以我只能自己猜,结果如下。
mysql> select * from news;
+----+-----------+-----------+
| id | newsTitle | newssFrom |
+----+-----------+-----------+
| 1 | 美容 | 娱乐头条 |
| 2 | 公车事件 | NULL |
| 3 | 达人 | |
| 4 | 山寨 | 新闻早报 |
| 5 | 武陵 | NULL |
| 6 | 成龙 | 电影快报 |
| 7 | 诸葛孔明 | NULL |
| 8 | 洪水 | 南国早报 |
| 9 | 张飞 | |
| 10 | 亚运会 | 广州日报 |
+----+-----------+-----------+
10 rows in set (0.00 sec)
mysql>
mysql> select * from news where newssFrom is null or newssFrom='';
+----+-----------+-----------+
| id | newsTitle | newssFrom |
+----+-----------+-----------+
| 2 | 公车事件 | NULL |
| 3 | 达人 | |
| 5 | 武陵 | NULL |
| 7 | 诸葛孔明 | NULL |
| 9 | 张飞 | |
+----+-----------+-----------+
5 rows in set (0.00 sec)
mysql>
#4
其实就像你上面写的吗,就是查询字段newsFrom为 ' '和NULL的news(新闻)。
很疑自己的表达能力了,哈!
谢谢了!
很疑自己的表达能力了,哈!
谢谢了!
#5
谢谢,解决这个问题了
Query query=session.createQuery("from Tnews t where t.newsFrom is '"+kew2+"' or t.newsFrom is null" )
可以查出5行数据
Query query=session.createQuery("from Tnews t where t.newsFrom is '"+kew2+"' or t.newsFrom is null" )
可以查出5行数据