目录

  • MySQL 高级函数
  • VERSION
  • IF
  • CASE
  • 参考文章


MySQL 高级函数

函数

描述

BIN

返回数字的二进制表示

BINARY

将值转换为二进制字符串

CASE

遍历条件并在满足第一个条件时返回一个值

CAST

将(任何类型的)值转换为指定的数据类型

COALESCE

返回列表中的第一个非空值

CONNECTION_ID

返回当前连接的唯一连接 ID

CONV

将数字从一种数字基系统转换为另一种数字系统

CONVERT

将值转换为指定的数据类型或字符集

CURRENT_USER

返回服务器用来验证当前客户端的 MySQL 帐户的用户名和主机名

DATABASE

返回当前数据库的名称

IF

如果条件为 TRUE,则返回一个值,如果条件为 FALSE,则返回另一个值

IFNULL

如果表达式为NULL,则返回指定值,否则返回表达式

ISNULL

根据表达式是否为 NULL 返回 1 或 0

LAST_INSERT_ID

返回表中已插入或更新的最后一行的 AUTO_INCREMENT id

NULLIF

比较两个表达式,如果相等则返回 NULL。否则返回第一个表达式

SESSION_USER

返回当前 MySQL 用户名和主机名

SYSTEM_USER

返回当前 MySQL 用户名和主机名

USER

返回当前 MySQL 用户名和主机名

VERSION

返回 MySQL 数据库的当前版本

VERSION

以字符串形式返回 MySQL 数据库的当前版本

语法

VERSION()

示例

mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 8.0.29    |
+-----------+

IF

返回一个值,如果条件为 FALSE,则返回另一个值

语法

IF(condition[, value_if_true[, value_if_false]])

示例

mysql> SELECT IF(500<1000, 5, 10);
+---------------------+
| IF(500<1000, 5, 10) |
+---------------------+
|                   5 |
+---------------------+

CASE

CASE 语句遍历条件并在满足第一个条件时返回一个值(如 IF-THEN-ELSE 语句)。 因此,一旦条件为真,它将停止读取并返回结果。

如果没有条件为真,它将返回 ELSE 子句中的值。

如果没有ELSE部分且没有条件为真,则返回NULL。

语法

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;

示例

mysql> SELECT (
CASE
    WHEN 1 < 0 THEN -1
    WHEN 1 > 0 THEN 1
    ELSE 0
END 
) as result;

+--------+
| result |
+--------+
|      1 |
+--------+

参考文章

  1. https://www.w3schools.cn/sql/sql_ref_mysql.html