MySQL 中没有 IFZERO

| 选择喜欢的代码风格  

MySQL 使用 CASE 语句:


可以通过 CASE 语句来实现 遇 0 替换 的功能。例如,将某个字段值为0时替换为其他值:

SELECT
    CASE 
        WHEN column_name = 0 THEN 'replacement_value'
        ELSE column_name
    END AS new_column_name
FROM
    table_name;
 

MySQL 使用 IF 函数:


IF 函数也可以实现类似的功能,语法如下:

SELECT
    IF(column_name = 0, 'replacement_value', column_name) AS new_column_name
FROM
    table_name;
 

MySQL 使用 NULLIF 和 IFNULL 组合:


如果需要将 0 替换为某个特定值,可以将 NULLIFIFNULL 结合使用。NULLIF 会将指定值转换为 NULL,然后 IFNULL 再将 NULL 替换为指定值:

SELECT
    IFNULL(NULLIF(column_name, 0), 'replacement_value') AS new_column_name
FROM
    table_name;
 

SQL 示例:


SELECT
    IF(amount = 0, 'N/A', amount) AS new_amount
FROM
    sales;
SELECT
    CASE 
        WHEN amount = 0 THEN 'N/A'
        ELSE amount
    END AS new_amount
FROM
    sales;

MySQL 扩展阅读:


 

CommandNotFound ⚡️ 坑否 - 其他频道扩展阅读:




发表评论