MySQL中替代 Oracle的decode函数

2023-12-14 13:07:11

MySQL 中可以使用 CASE WHEN 语句替代 Oracle 中的 decode 函数。

例如,Oracle 中的 decode 函数语法为:

decode(expression, search_value_1, result_1, search_value_2, result_2, ..., default_result)

可以使用 MySQL 的 CASE WHEN 语句来实现类似的功能,语法如下:

CASE expression
    WHEN search_value_1 THEN result_1
    WHEN search_value_2 THEN result_2
    ...
    ELSE default_result
END

具体示例:

-- Oracle
SELECT decode(status, 1, 'active', 2, 'inactive', 'unknown') AS status_desc
FROM employees;

-- MySQL
SELECT 
    CASE status
        WHEN 1 THEN 'active'
        WHEN 2 THEN 'inactive'
        ELSE 'unknown'
    END 
    AS status_desc
FROM employees;

文章来源:https://blog.csdn.net/qq_43868413/article/details/134846922
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。