mysql - 选择所有列,同时对一列执行 ifnull

标签 mysql sql

我希望能够对所有列进行选择,如果为空则显示 0(对于其中的一些列),而不必在语句中写下每个列的名称。

我能想到的是这样的:

SELECT *, IFNULL(`nullable_col1`, 0) FROM `my_table`;

正确的做法是什么?

最佳答案

No 没有办法。您必须对要为其赋值的每一列使用 IFNULL 函数。

您可以做的一件事是,您可以简单地为所有非 NULL 的列选择值(但我不确定这是否是您想要的)

SELECT * FROM my_table WHERE (nullable_col1 AND nullable_col2 AND nullable_col2) IS NOT NULL

所以这将只选择非 NULL 的列。

关于mysql - 选择所有列,同时对一列执行 ifnull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36419000/

相关文章:

php - Mysql中使用where和Like子句过滤数据

php - 我如何聚合表中的数据以使用每个月作为键显示基于类别的产品总和

mysql - 使用格式化日期选择字段

Mysql Join 在时间戳上使用时差

java - 无法运行Spring Boot应用程序原因Failed to load driver class com.mysql.jdbc.Driver

sql - 两个电子邮件地址表,返回一个不在另一个的地方

sql - 将ntext转换为nvcharmax(max)-解决大小限制

PHP/SQL - 搜索两个术语以返回存储在 mysql 数据库中的数据

mysql - SQL对多个字段进行计数

mysql - 如何优先考虑工会中未过期的职位