我正在尝试在 MySQL 中找到与 DECODE 函数等效的函数。它的工作原理如下:
Select Name, DECODE(Age,
13,'Thirteen',14,'Fourteen',15,'Fifteen',16,'Sixteen',
17,'Seventeen',18,'Eighteen',19,'Nineteen',
'Adult') AS AgeBracket
FROM Person
DECODE 函数会将“Age”列的值与 13、14、15.. 进行比较,并返回适当的字符串值“Thirteen”、“Fourteen”.. 如果没有匹配任何内容,则返回默认值“Adult”将会被退回。
有什么想法 MySQL 中的哪个函数可以完成这项工作吗?谢谢。
澄清:我同意使用 CASE 是实现所需结果的一种方法,但由于性能和其他原因,我宁愿寻找一个函数。
最佳答案
您可以在 Oracle 中使用 DECODE()
的地方使用 IF()
。
mysql> select if(emp_id=1,'X','Y') as test, emp_id from emps;
关于sql - MySQL 相当于 Oracle 中的 DECODE 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59980806/