SQL - 如果列条目等于 NULL,则将其设置为 0?
SQL - Setting column entry to 0 if it equals NULL?
所以在我的 table 中,我有一列看起来像这样:
45
NULL
234234
123
NULL
NULL
75
我想将所有 NULL
值设置为 0
:
45
0
234234
123
0
0
75
我试过这个:
UPDATE TABLE comm_call_count c
SET c.messageCountFri = 0
WHERE c.messageCountFri = NULL;
然后我尝试了这个:
UPDATE TABLE comm_call_count c
SET c.messageCountFri = IFNULL(c.messageCountFri,0);
但都没有用。我该怎么做?
null
不是一个值,而是缺少值。因此,您不能使用旨在比较值的运算符(例如 =
或 !=
)对其进行评估。相反,您需要使用 is
运算符明确检查它。另请注意,语法是 update <table name>
,而不是 update table <table name>
:
UPDATE comm_call_count c
SET c.messageCountFri = 0
WHERE c.messageCountFri IS NULL;
尝试从您的 UPDATE 语句中删除关键字 TABLE
。我认为那是不允许的。 (我从不在这样的更新中使用 TABLE
这个词。)
似乎会引发特定错误,而不仅仅是 "not work"。
或许试试:
WHERE c.messageCountFri is NULL;
这听起来很简单,但请确保您的字段一开始可以为空
所以在我的 table 中,我有一列看起来像这样:
45
NULL
234234
123
NULL
NULL
75
我想将所有 NULL
值设置为 0
:
45
0
234234
123
0
0
75
我试过这个:
UPDATE TABLE comm_call_count c
SET c.messageCountFri = 0
WHERE c.messageCountFri = NULL;
然后我尝试了这个:
UPDATE TABLE comm_call_count c
SET c.messageCountFri = IFNULL(c.messageCountFri,0);
但都没有用。我该怎么做?
null
不是一个值,而是缺少值。因此,您不能使用旨在比较值的运算符(例如 =
或 !=
)对其进行评估。相反,您需要使用 is
运算符明确检查它。另请注意,语法是 update <table name>
,而不是 update table <table name>
:
UPDATE comm_call_count c
SET c.messageCountFri = 0
WHERE c.messageCountFri IS NULL;
尝试从您的 UPDATE 语句中删除关键字 TABLE
。我认为那是不允许的。 (我从不在这样的更新中使用 TABLE
这个词。)
似乎会引发特定错误,而不仅仅是 "not work"。
或许试试:
WHERE c.messageCountFri is NULL;
这听起来很简单,但请确保您的字段一开始可以为空