一尘不染

如何在SQL中选择所有值并隐藏NULL值?

sql

因此在我的数据库中,某些行具有NULL值,当我从表中选择*时,该NULL值也显示为文本“ null”。所以我想隐藏所有NULL值。有人有查询的主意吗?谢谢!

这是我在数据库中的输入:

db.execSQL("CREATE TABLE IF NOT EXISTS table (name VARCHAR, kg VARCHAR,   pod                 VARCHAR,reps VARCHAR, time VARCHAR );");
  db.execSQL("INSERT INTO table VALUES('name 1',NULL,NULL , NULL , '"+s+"');");
 db.execSQL("INSERT INTO table VALUES(NULL,'S 1','"+ee5+"' , '"+ee+"' , '"+s+"');");
 db.execSQL("INSERT INTO table VALUES(NULL,'S 2','"+ee6+"' , '"+ee2+"', '"+s+"');");
 db.execSQL("INSERT INTO table VALUES(NULL,'S 3','"+ee7+"' , '"+ee3+"', '"+s+"');");
 db.execSQL("INSERT INTO table VALUES(NULL,'S 4','"+ee8+"' , '"+ee4+"', '"+s+"');");

阅读 272

收藏
2021-03-17

共1个答案

一尘不染

这是您要寻找的:

SELECT x, y, etc, CASE WHEN field IS NOT NULL THEN field ELSE '' END AS hehe FROM table;

编辑
:添加到您的评论中,一旦您知道如何对一列进行操作,这将非常简单。对所有列应用相同的内容。因此,不要指望家庭作业能完成,而要指望最终能解决您自己的问题的帮助。

顺便说一句,这是如何..

SELECT COALESCE(name, ''), COALESCE(kg, ''), COALESCE(pod, ''), COALESCE(reps, ''), 
       COALESCE(time, '') 
FROM   table

您在此线程中有3种不错的方法(包括我的方法),我个人觉得其他两种更直观。通过应用与我所示相同的逻辑来使用any。

2021-03-17