当前位置: 首页 > news >正文

mysql查询判断函数,类似decode

mysql中没有decode函数,如果使用的话,会报如下错误:Error Code: 1305. FUNCTION stockdb.decode does not exist

如果要实现像 Oracle 数据库那样原生的 DECODE 函数,可以通过以下几种方式来实现类似 DECODE 函数的功能。

-- 创建示例表

CREATE TABLE employees (

    id INT,

    name VARCHAR(20) ,

    department VARCHAR(50)

);

-- 插入示例数据

INSERT INTO employees (id, name,department) VALUES

(1, '张三','HR'),

(2, '李四','IT'),

(3, '王五','Finance');

select a.name,decode(a.department,'HR','人力资源部','IT','信息技术部','Finance','财务部','其他') as department_ch from employees a;

-- 使用 CASE 表达式

-- CASE 表达式是实现类似 DECODE 功能的最常用方式,它有两种形式:简单 CASE 表达式和搜索 CASE 表达式。

-- 示例1:使用简单 CASE 表达式模拟 DECODE 功能

SELECT

    id,

    name,

    department,

    CASE department

        WHEN 'HR' THEN '人力资源部'

        WHEN 'IT' THEN '信息技术部'

        WHEN 'Finance' THEN '财务部'

        ELSE '其他'

    END AS department_ch

FROM

    employees;

   

-- 示例2:搜索 CASE 表达式示例

SELECT

    id,

    department,

    CASE

        WHEN department = 'HR' THEN '人力资源部'

        WHEN department = 'IT' THEN '信息技术部'

        WHEN department = 'Finance' THEN '财务部'

        ELSE '其他部门'

    END AS department_ch

FROM

    employees;

   

-- 示例三:使用多个 IF 函数嵌套

SELECT

    id,

    department,

    IF(department = 'HR', '人力资源部',

        IF(department = 'IT', '信息技术部',

            IF(department = 'Finance', '财务部', '其他部门')

        )

    ) AS department_ch

FROM

    employees;

   

相关文章:

  • SQL 注入攻击详解[基础篇]:Web 应用程序安全漏洞与防御策略
  • 【算法】快排
  • Go 自动升级依赖版本
  • 网络安全“挂图作战“及其场景
  • Go入门之数组与切片
  • 【基础架构篇八】《DeepSeek异构计算:CPU/GPU/TPU协同加速方案》
  • 基于Spring Boot的社区居民健康管理平台的设计与实现
  • 【Vue3】Vue 3 中列表排序的优化技巧
  • Qt的QTabWidget样式设置
  • Python----数据结构(双向链表:节点,是否为空,长度,遍历,添加,删除,查找,循环链表)
  • 伯克利 CS61A 课堂笔记 10 —— Trees
  • 阿里云ACK+GitLab企业级部署实战教程
  • 数据库配置文件
  • 【Linux网络-网络基础】TCP/IP五层(或四层)模型+网络传输的基本流程
  • DeepSeek R1:中国AI黑马的崛起与挑战
  • 外包干了3天,技术退步太明显了。。。
  • sql not in 优化
  • 【WRF模拟】全过程总结:更换不同研究时段改动总结
  • 简单易懂的金融知识:如何解读股指期货?股指期货如何做?
  • C#知识大纲回顾
  • 2025世界数字教育大会将于5月14日至16日在武汉举办
  • 蔡达峰:推动食品安全法全面有效实施,为维护人民群众身体健康提供有力法治保障
  • 从上海首个到成片复制,闵行零工市场如何优化劳动就业服务?
  • 44岁街舞运动推广者、浙江省街舞运动协会常务理事钟永玮离世
  • 罗氏制药全新生物制药生产基地投资项目在沪启动:预计投资20.4亿元,2031年投产
  • 央行:全力推进一揽子金融政策加快落地