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

如何在SQL中选择所有值并隐藏空值?,sql,sqlite,Sql,Sqlite,所以在我的数据库中,有些行有空值,当我从表中选择*时,空值也显示为文本“NULL”。所以我想隐藏所有的空值。有人对这个问题有想法吗?谢谢 这是我在DB中的输入: db.execSQL("CREATE TABLE IF NOT EXISTS table (name VARCHAR, kg VARCHAR, pod VARCHAR,reps VARCHAR, time VARCHAR );"); db.execSQL("INSERT INTO table VA

所以在我的数据库中,有些行有空值,当我从表中选择*时,空值也显示为文本“NULL”。所以我想隐藏所有的空值。有人对这个问题有想法吗?谢谢

这是我在DB中的输入:

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+"');");

如果您正在使用sqlite for android

看看这个

如果您正在使用sqlite for android


看看这个

这就是你要找的:

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

你有三个很好的方法(包括我的),我个人觉得其他两个更直观。通过应用与我所示相同的逻辑来使用任意值。

这就是您要寻找的:

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

你有三个很好的方法(包括我的),我个人觉得其他两个更直观。通过应用与我所示相同的逻辑来使用any。

在SQLite中,您应该能够执行以下操作:

SELECT col1, col2, ..., ifnull(coln, '') FROM TABLE

在SQLite中,您应该能够执行以下操作:

SELECT col1, col2, ..., ifnull(coln, '') FROM TABLE

它取决于列的数据类型

-- If the data type is integer:
SELECT COALESCE(the_column, 0)
FROM the_table;

-- or, if the column is a char or varchar type:
SELECT  COALESCE(the_column, 'some text here')
FROM the_table;

-- or, if it is a date:
SELECT  COALESCE(the_column, '1900-01-01')
FROM the_table;

顺便说一句:有些数据库有IFNULL()函数,它做同样的事情。

这取决于列的数据类型

-- If the data type is integer:
SELECT COALESCE(the_column, 0)
FROM the_table;

-- or, if the column is a char or varchar type:
SELECT  COALESCE(the_column, 'some text here')
FROM the_table;

-- or, if it is a date:
SELECT  COALESCE(the_column, '1900-01-01')
FROM the_table;


顺便说一句:有些数据库具有IFNULL()函数,该函数的作用与此相同。

要隐藏文本“null”并显示空数据,您必须查看数据库的设置/首选项client@DheereshSingh但如果我这样做,那么所有有空值的列都不会显示,我只想用NULL隐藏那个字段values@deathApril我在eclipse中工作。设置/首选项在哪里?eclipse不是SQL客户机,你是说eclipse SQL Explorer吗?我没有,但是在Window>SQL Explorer>SQL Editor下寻找一个选项,或者当您右键单击空值时-如果没有更改值显示的选项,请使用
case
/
ifnull
/
nvl
/
coalesce
answers中的一个来隐藏文本“null”并显示空数据,您必须转到您的设置/首选项client@DheereshSingh但若我这样做了,那个么我有空值的所有列都不会显示,我只想用空值隐藏那个些字段values@deathApril我在eclipse中工作。设置/首选项在哪里?eclipse不是SQL客户机,你是说eclipse SQL Explorer吗?我没有,但在“窗口>SQL资源管理器>SQL编辑器”下查找选项,或者右键单击空值时—如果没有更改值显示的选项,使用一个
案例
/
ifnull
/
nvl
/
合并
answers@Mido但若我这样做了,那个么我有空值的所有列都不会显示,我只想用空值隐藏那个些字段values@Mido但如果我这样做,那么所有有空值的列都不会显示,我只想隐藏带有空值的字段;我对SQLitenawfal的解决方案也不太了解,它是独立于DBMS的,是纯SQL。请使用标准的
coalesce
,而不是
ifnull
(语法相同,但可能超过2列);我对SQLitenawfal的解决方案也不太了解,它独立于DBMS,是纯SQL。使用标准的
coalesce
而不是
ifnull
(语法相同,但可能超过2列)我编辑了文章,这是我的代码,我需要用什么来替换“field”取决于我的code@user1414682那么你想隐藏哪个字段呢?来自所有字段的空值?我不知道游标的捕获是什么。在android圈子里搜索,或者用谷歌搜索。非常感谢你们,你们都帮了我很大的忙,我的代码中也有游标,所以我必须在查询中添加别名,以便游标可以识别字段smm good to know@user1414682,在任何情况下,如果有更多问题,您必须将其作为一个单独的问题,因为您在这里提出的问题已经得到了很好的回答。现在是时候接受你的首选答案了!:)我编辑了这篇文章,这是我的代码,我需要什么来替换“字段”取决于我的code@user1414682那么你想隐藏哪个字段呢?来自所有字段的空值?我不知道游标的捕获是什么。在android圈子里搜索,或者用谷歌搜索。非常感谢你们,你们都帮了我很大的忙,我的代码中也有游标,所以我必须在查询中添加别名,以便游标可以识别字段smm good to know@user1414682,在任何情况下,如果有更多问题,您必须将其作为一个单独的问题,因为您在这里提出的问题已经得到了很好的回答。现在是时候接受你的首选答案了!:)