Oracle 中decode函数改成mysql用什么
时间: 2024-03-21 08:40:17 浏览: 116
在MySQL中可以使用CASE函数来实现Oracle中的DECODE函数的功能。具体实现方式如下:
```
SELECT CASE column_name
WHEN 'value1' THEN 'result1'
WHEN 'value2' THEN 'result2'
...
ELSE 'default_result'
END
FROM table_name;
```
其中,column_name是需要进行判断的列名,value1和value2是需要判断的值,result1和result2是对应的结果,default_result是当列的值不匹配任何条件时的默认结果。通过使用CASE函数,我们可以根据需要对列的值进行判断,并返回相应的结果。
相关问题
Oracle 中decode函数改成mysql用什么好书,
如果你想学习如何在MySQL中实现Oracle中的DECODE函数,我建议你可以阅读《MySQL Stored Procedure Programming》一书。该书详细介绍了MySQL存储过程的编写和调用,以及如何使用条件语句来实现DECODE函数的功能。另外,你也可以参考MySQL官方文档中的CASE函数,该函数可以实现类似DECODE函数的功能。
oracle decode函数转mysql
Oracle数据库中的DECODE函数在MySQL中可以使用CASE WHEN...THEN...ELSE...END语句来实现类似的功能。DECODE函数用于基于某个条件返回不同的值,其基本语法如下:
```sql
DECODE(条件表达式, 表达式1, 返回值1, [表达式2, 返回值2], ..., [else 返回值])
```
在MySQL中对应的转换:
```sql
CASE
WHEN 条件1 THEN 结果1
WHEN 条件2 THEN 结果2
...
ELSE 默认结果
END
```
例如,如果在Oracle中有这样一个DECODE函数:
```sql
SELECT DECODE(employee_id, 100, 'Manager', 200, 'Engineer') as title FROM employees;
```
在MySQL里可以这样写:
```sql
SELECT
CASE
WHEN employee_id = 100 THEN 'Manager'
WHEN employee_id = 200 THEN 'Engineer'
ELSE 'Unknown' -- 或者省略此行,因为默认是NULL
END AS title
FROM employees;
```
阅读全文