use*_*888 3 sql postgresql null
在寻找在Stack Overflow上将表中的NULL值替换为0的方法时,似乎发现许多线程都指向使用COALESCE函数。例如,postgresql返回0,如果返回值为null
我知道COALESCE函数会为您的特定查询“替换”空值;但是,桌子本身保持不变。也就是说,如果您在没有COALESCE的单独查询中再次查询该表,则空值仍将存在。
我的问题是,有没有办法让我用指定的值(例如0)永久替换表中的NULL值,这样我就不必在每个查询中都使用COALESCE?作为我问题的扩展,修改原始表而不是在查询中进行操作是否被视为不好的做法?
小智 5
您可以执行UPDATE:
UPDATE table SET col1 = 0 WHERE col1 IS NULL;
Run Code Online (Sandbox Code Playgroud)
这应该有效地更新表上所有匹配的记录