返回指定值的二进制编码。
语法:
BIN(x)
🌰 示例:
SELECT BIN(15);-- 输出结果+---------+| bin(15) |+---------+| 1111 |+---------+
将字符串转换为二进制字符串。
语法:
BINARY(s);
🌰 示例:
SELECT BINARY("World");-- 输出结果+----------------------------------+| BINARY("World") |+----------------------------------+| 0x576F726C64 |+----------------------------------+
CASE
表示函数开始,END
表示函数结束。如果 condition1
成立,则返回 result1
,如果 condition2
成立,则返回 result2
,当全部不成立则返回 result
,而当有一个成立之后,后面的就不执行了。
语法:
CASE expressionWHEN condition1 THEN result1WHEN condition2 THEN result2...WHEN conditionN THEN resultNELSE resultEND
🌰 示例:
-- 输出结果
转换数据类型。
语法:
CAST(x as type);
🌰 示例:字符串日期转换为日期
SELECT CAST("2023-04-05" AS DATE)-- 输出结果+----------------------------+| CAST("2023-04-05" AS DATE) |+----------------------------+| 2023-04-05 |+----------------------------+
CAST
函数在转换数据类型的时候,不会四舍五入,如果原数值有小数,那么转换为整数类型的时候就会报错。不过你可以指定转化的小数类型。
返回参数中第一个非空表达式(从左往右)。
语法:
COALESCE(expr1, expr2, ..., exprN);
🌰 示例:
SELECT COALESCE(NULL, NULL, NULL, 'google.com', NULL, 'baidu.com');-- 输出结果+--------------------------------------------------------------+| COALESCE(NULL, NULL, NULL, 'google.com', NULL, 'baidu.com') |+--------------------------------------------------------------+| google.com |+--------------------------------------------------------------+
返回唯一的连接 ID。
语法:
CONNECTION_ID()
🌰 示例:
SELECT CONNECTION_ID();-- 输出结果+-----------------+| CINNECTION_ID() |+-----------------+| 8 |+-----------------+
指定数值和进制并进行进制转换。
语法:
CONV(x, f1, f2);
🌰 示例:
SELECT CONV(15, 10, 2);-- 输出结果+-----------------+| CONV(15, 10, 2) |+-----------------+| 1111 |+-----------------+
用于获取一个类型的值,并产生另一个类型的值。
语法:
CONVERT(value, type);
参数 type
:
🌰 示例:
SELECT CONVERT('23', SIGNED);-- 输出结果+-----------------------+| CONVERT('23', SIGNED) |+-----------------------+| 23 |+-----------------------+
返回当前用户。
语法:
CURRENT_USER();
🌰 示例:
SELECT CURRENT_USER();-- 输出结果+----------------+| CURRENT_USER() |+----------------+| root@localhost |+----------------+
返回数据库名。
语法:
DATABASE();
🌰 示例:
SELECT CURRENT_USER();-- 输出结果+------------+| DATABASE() |+------------+| NULL |+------------+
如果表达式成立,则返回第一个参数,否则返回第二个参数。
语法:
IF(condition, value_if_true, value_if_false);
🌰 示例:
SELECTorder_id,quantity,IF(quantity > 10, 'MORE', 'LESS') AS descFROMorder_details;-- 输出结果+------------+------------+------------+| order_id | quantity | desc |+------------+------------+------------+| 10248 | 12 | MORE || 10248 | 10 | LESS || 10248 | 5 | LESS || 10249 | 9 | LESS || 10249 | 40 | MORE || 10249 | 10 | LESS || 10248 | 35 | MORE || 10248 | 15 | MORE |+------------+------------+------------+
用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。
语法:
INFULL(expression, alt_value)
如果第一个参数的表达式 expression
为 NULL,则返回第二个参数的备用值。
🌰 示例:
SELECT IFNULL(NULL, 'HELLO_WORLD');-- 输出结果+-----------------------------+| IFNULL(NULL, 'HELLO_WORLD') |+-----------------------------+| HELLO_WORLD |+-----------------------------+
用于测试指定值是否为 NULL,是则返回 1
,否则返回 0
。
语法:
ISNULL(expression);
🌰 示例:
SELECT ISNULL(350);-- 输出结果+-------------+| ISNULL(350) |+-------------+| 0 |+-------------+
用于获取自动增长列尾最后一次插入生成的值。
语法:
LAST_INSERT_ID(expression);
🌰 示例:
SELECT LAST_INSERT_ID();-- 输出结果+------------------+| LAST_INSERT_ID() |+------------------+| 0 |+------------------+
根据两个参数是否相等决定返回 NULL 还是第一个参数。
语法:
NULLIF(expr1, expr2);
🌰 示例:
SELECTNULLIF(1, 1),NULLIF(1, 2);-- 输出结果+--------------+--------------+| NULLIF(1, 1) | NULLIF(1, 2) |+--------------+--------------+| NULL | 1 |+--------------+--------------+
NULLIF()
相当于 CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END
。
SELECTCASE WHEN 1 = 1 THEN NULL ELSE 1 END,CASE WHEN 1 = 2 THEN NULL ELSE 1 END;-- 输出结果+--------------------------------------+--------------------------------------+| CASE WHEN 1 = 1 THEN NULL ELSE 1 END | CASE WHEN 1 = 2 THEN NULL ELSE 1 END |+--------------------------------------+--------------------------------------+| NULL | 1 |+--------------------------------------+--------------------------------------+
用于返回当前的 MySQL 账户的用户名和主机名。
SESSION_USER()
函数等同于 USER()
和 SYSTEM_USER()
。
语法:
SESSION_USER()
🌰 示例:
SELECT SESSION_USER();-- 输出结果+--------------------+| SESSION_USER() |+--------------------+| root@192.168.0.204 |+--------------------+
用于获取当前 MySQL 账户的用户名和主机名。
SYSTEM_USER()
函数等同于 USER()
和 SESSION_USER()
。
语法:
SYSTEM_USER()
🌰 示例:
SELECT SYSTEM_USER();-- 输出结果+--------------------+| SYSTEM_USER() |+--------------------+| root@192.168.0.204 |+--------------------+
用于获取当前 MySQL 账户的用户名和主机名。
SYSTEM_USER()
函数等同于 USER()
和 SESSION_USER()
。
语法:
USER()
🌰 示例:
SELECT USER();-- 输出结果+--------------------+| USER() |+--------------------+| root@192.168.0.204 |+--------------------+
以字符串形式返回 MySQL 服务器的版本。
语法:
VERSION()
🌰 示例:
SELECT VERSION();-- 输出结果+--------------------+| VERSION() |+--------------------+| 8.0.21 |+--------------------+