MySQL SELECT * FROM(包括 NULL 值)
MySQL SELECT * FROM (including NULL values)
也许我很愚蠢,也许我很盲目,但我只是 Swift 试图处理 MySQL.
某些方面的开发人员
我有一个包含几列的简单 table:
id INT NOT NULL
name VARCHAR NOT NULL
age INT ALLOW NULL
domain VARCHAR NOT NULL
所以唯一的列 'age' 可能是 NULL
。当我做 SELECT *
时,我根据 'age' 值收到 (id, name, domain)
或 (id, name, age, domain)
。
即使年龄是 NULL
,我怎样才能得到一行中的所有 4 列?所以它可能是这样的:(453, John, NULL, johnDoe)
或 (453, John, 37, johnDoe)
.
要访问 MySQL 服务器,我使用 Swift Perfect 的原生 MySQL 框架。
编辑:
让我的 table 也有这些列:
randomValue1 INT ALLOW NULL
randomValue2 INT NOT NULL
randomValue3 INT ALLOW NULL
所以如果我获取数据,它可能是 7 个值(如果一切都已设置)或 6 个值,如果 smth 没有设置,那么如何知道什么是设置的,什么不是?
您可以使用简单的查询来获取所有四列的结果。如果 "age" 列不包含任何值,那么它将 return "null" 否则所有列的值都将出现在输出中。
SELECT id, name, age, domain FROM TABLE_NAME;
如果您可以使用默认值,例如 -1(或 0 或其他),您可以使用 coalesce(age, -1)
来获取该值而不是 null。
select id, name, coalesce(age, -1) age, domain from t;
并在您的申请中正确处理 -1
年龄。
也许我很愚蠢,也许我很盲目,但我只是 Swift 试图处理 MySQL.
某些方面的开发人员我有一个包含几列的简单 table:
id INT NOT NULL
name VARCHAR NOT NULL
age INT ALLOW NULL
domain VARCHAR NOT NULL
所以唯一的列 'age' 可能是 NULL
。当我做 SELECT *
时,我根据 'age' 值收到 (id, name, domain)
或 (id, name, age, domain)
。
即使年龄是 NULL
,我怎样才能得到一行中的所有 4 列?所以它可能是这样的:(453, John, NULL, johnDoe)
或 (453, John, 37, johnDoe)
.
要访问 MySQL 服务器,我使用 Swift Perfect 的原生 MySQL 框架。
编辑: 让我的 table 也有这些列:
randomValue1 INT ALLOW NULL
randomValue2 INT NOT NULL
randomValue3 INT ALLOW NULL
所以如果我获取数据,它可能是 7 个值(如果一切都已设置)或 6 个值,如果 smth 没有设置,那么如何知道什么是设置的,什么不是?
您可以使用简单的查询来获取所有四列的结果。如果 "age" 列不包含任何值,那么它将 return "null" 否则所有列的值都将出现在输出中。
SELECT id, name, age, domain FROM TABLE_NAME;
如果您可以使用默认值,例如 -1(或 0 或其他),您可以使用 coalesce(age, -1)
来获取该值而不是 null。
select id, name, coalesce(age, -1) age, domain from t;
并在您的申请中正确处理 -1
年龄。