我有一张带字段的table:- field1 (Varchar(10)) Default NULL; 运行此sql时:
field1 (Varchar(10)) Default NULL;
SELECT * FROM table WHERE field1 LIKE '%';
该查询不返回 Field1 IS NULL; 为什么? NULL 它不被认为是任何价值吗?我有什么办法?我不知道表中要进行查询的字段的默认值。
Field1 IS NULL;
NULL
v8wbuo2f1#
SELECT *FROM table_name where column_name is null
试试这个代码。
qgzx9mmu2#
当你打字的时候 LIKE '%' ,意思是«任何字符的字符串», 以及 NULL 不是字符串。如果您想要只包含 null ,您必须写: SELECT * FROM table WHERE field1 IS NULL; 但是如果需要所有行,可以删除 WHERE 分开,写下: SELECT * FROM table
LIKE '%'
null
SELECT * FROM table WHERE field1 IS NULL;
WHERE
SELECT * FROM table
nhn9ugyo3#
NULL 是未知值或缺少值。所以使用 COALESCE 函数使空值变为非空值。查询
COALESCE
select * from `table` where coalesce(`field1`, '') like '%';
3条答案
按热度按时间v8wbuo2f1#
试试这个代码。
qgzx9mmu2#
当你打字的时候
LIKE '%'
,意思是«任何字符的字符串», 以及NULL
不是字符串。如果您想要只包含
null
,您必须写:SELECT * FROM table WHERE field1 IS NULL;
但是如果需要所有行,可以删除WHERE
分开,写下:SELECT * FROM table
nhn9ugyo3#
NULL
是未知值或缺少值。所以使用COALESCE
函数使空值变为非空值。查询