我在MySQL的操作结果中得到NULL
个值。
有没有办法将NULL
值转换为值0?
答案 0 :(得分:61)
是的,使用COALESCE
。
SELECT COALESCE(null_column, 0) AS null_column FROM whatever;
COALESCE遍历您给出的值列表,并返回第一个非空值。
答案 1 :(得分:49)
我正在添加此答案,因为没有人提及IFNULL
功能
您可以使用IFNULL
SELECT IFNULL(column_name, 0) FROM table_name;
IFNULL
将返回列的值(如果它具有NULL
以外的值),否则传递第二个参数(在本例中为0
)。
答案 2 :(得分:4)
在您的情况下,有COALESCE
方法返回第一个非null参数:
COALESCE(field, 0)
但如果你想要更多,你可以使用它:
COALESCE(field1, field2, 0)
答案 3 :(得分:3)
如果您搞砸了,并且现有表布局中包含NULL并且想要零,则为解决方案:
if (found) {
$scope.$apply(() => {
found.forEach((i) => {
// let tmp = JSON.stringify(i).replace(/\\n/g,'').replace(/\s\\/g,'').replace(/\\/g,'').replace(/"{\s/g,'{').replace(/\s}"/g,'}').replace(/,\s"/g,',"').replace(/:\s/g,':');
$scope.problems.push(JSON.parse(i));
});
});
}
答案 4 :(得分:2)
MySQL的:
SELECT COALESCE(Mycolumn, 0);
答案 5 :(得分:0)
您可以通过强制将0值插入插入输入法:(int)0