mysql decode如何在查询中使用

avatar
作者
猴君
阅读量:1

在MySQL中,可以使用CASE语句来实现类似于Oracle中的DECODE函数的功能。以下是一个示例,演示如何在查询中使用CASE语句来模拟DECODE函数的功能:

SELECT      CASE column_name         WHEN value1 THEN result1         WHEN value2 THEN result2         ...         ELSE default_result     END AS decoded_value FROM table_name; 

在上面的示例中,column_name是要进行比较的列名,value1、value2等是要比较的值,result1、result2等是对应值的结果,default_result是默认的结果。

例如,假设有一个表students,其中包含id和gender两列,gender列存储了学生的性别信息,现在要查询出性别为1的学生对应的性别名称,可以使用以下查询来实现:

SELECT      id,     CASE gender         WHEN 1 THEN '男'         WHEN 2 THEN '女'         ELSE '未知'     END AS gender_name FROM students; 

上面的查询会根据gender列的值来返回对应的性别名称,如果gender为1,则返回’男’,如果为2,则返回’女’,否则返回’未知’。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!