首页 > 解决方案 > 当我选择 * 时不显示具有 Null 值的表

问题描述

当我尝试从我创建的表中选择 * 时,我在其中插入了一个空值。包含空值的整行数据将被省略;

CREATE TABLE Credit_transactions (
CT_id INT PRIMARY KEY,
Date_time DATE,
Money INT ,
Credits INT  ,
CT_type INT ,
Customer_id INT );

例如,如果一笔交易不包括任何钱,我将在插入数据时插入一个空值,例如;

INSERT INTO Credit_transactions(CT_id, Date_time, Money, Credits, CT_type, Customer_id)
VALUES('2', '10-DEC-2018', 'NULL', '3', '1', '1');

但是,在插入所有数据并尝试select * from the table仅获取没有 NULL 值的行之后,例如我键入的 id 1,2 和 3 id2 在其中一列中包含空值,我只会在全选后获得 id1 和 id3。

我该如何解决这个问题,我想将值显示为空值,因为它是例如;

id:1 money:10
id:2 money:NULL
id:3 money 20

第一次使用堆栈溢出,对于这样的初学者问题感到抱歉。

标签: mysqlsqloracle

解决方案


Money被声明为INT,并且您尝试插入 String 值'NULL'而不是NULL,因此 sql 查询将失败(插入)。
所以很明显,从表中选择所有内容时,您不会得到预期的结果。


推荐阅读