MySQL 条件函数/加密函数/转换函数

条件函数

  • IF(): 如果条件为真,返回一个值,否则返回另一个值。

    -- 示例:根据员工的薪水返回薪水等级
    SELECT name, salary,
    IF(salary < 3000, 'Low',
    IF(salary BETWEEN 3000 AND 7000, 'Medium', 'High')) AS salary_level
    FROM employees;

  • CASE: 更复杂的条件逻辑,类似于编程语言中的 switch-case 语句。

    SELECT
    CASE
    WHEN score >= 90 THEN 'A'
    WHEN score >= 80 THEN 'B'
    WHEN score >= 70 THEN 'C'
    WHEN score >= 60 THEN 'D'
    ELSE 'F'
    END AS grade
    FROM students;

  • COALESCE(): 返回参数列表中第一个非 NULL 值。

    SELECT name, COALESCE(city, 'Unknown') AS city
    FROM students;

加密函数

  • MD5(): 计算字符串的 MD5 哈希值。

    -- 示例:对用户的密码进行MD5加密
    SELECT MD5('password123') AS encrypted_password;

  • SHA1(): 计算字符串的 SHA-1 哈希值。

    SELECT SHA1('7895656')

转换函数

  • CAST(): 将一个表达式转换为指定的数据类型。

    -- 示例:将字符串转换为整数
    SELECT CAST('123' AS UNSIGNED) AS number;

  • CONVERT(): 功能与 CAST() 类似,用于类型转换。

    -- 示例:将日期字符串转换为日期类型
    SELECT CONVERT('2023-01-01', DATE) AS converted_date;

相关推荐
Random Glow17 分钟前
聚簇索引 vs 二级索引:回表、覆盖索引、索引下推
数据库·mysql·性能优化·innodb·1024程序员节·索引优化
要开心吖ZSH1 小时前
一次线上锁风暴复盘:号源表大范围 DELETE 的隐患与分批删除改造
数据库·mysql·行锁·1024程序员节·间隙锁·lockwaittimeout
John_Hui4 小时前
MySQL 进阶知识
数据库·sql·mysql·1024程序员节
Random Glow4 小时前
一条 SQL 从输入到返回,中间经历了什么
数据库·后端·mysql·性能优化·innodb·1024程序员节
何中应5 小时前
MySQL 连接驱动单独下载的两种方式
数据库·mysql·maven
余槐i5 小时前
开虚拟线程后接口反而更慢:JDK 21 synchronized 锁住载体线程的排查
java·spring boot·redis·mysql·性能优化
csdn_aspnet5 小时前
.NETCore EF Core 根据 mysql 数据表按顺序生成简单编号
mysql·.net core·efcore·1024程序员节·sequence·编号
惊讶的猫6 小时前
mysql索引
mysql·1024程序员节
csdn_aspnet6 小时前
.NETCore SqlSuagr 根据 mysql 数据表按顺序生成简单编号
mysql·.netcore·sqlsugar·1024程序员节·sequence·.net8·编号
冰暮流星7 小时前
mysql之索引设计的原则
数据库·mysql·1024程序员节