目录
MySQL BIN() 函数
MySQL BINARY 函数
MySQL CASE 函数
MySQL CAST() 函数
MySQL COALESCE() 函数
MySQL CONNECTION_ID() 函数
MySQL CONV() 函数
MySQL CONVERT() 函数
MySQL CURRENT_USER() 函数
MySQL DATABASE() 函数
MySQL IF() 函数
MySQL IFNULL() 函数
MySQL ISNULL() 函数
MySQL LAST_INSERT_ID() 函数
MySQL NULLIF() 函数
MySQL SESSION_USER() 函数
MySQL SYSTEM_USER() 函数
MySQL USER() 函数
MySQL VERSION() 函数
MySQL BIN() 函数
【实例】
返回 15 的二进制表示:
SELECT BIN(15);
【定义和用法】
BIN() 函数以字符串值的形式返回数字的二进制表示形式。
【语法】
BIN(number)
【参数值】
参数 | 描述 |
number | 必需。一个数字 |
【技术细节】
适用于: | From MySQL 4.0 |
【实例】
返回 111 的二进制表示:
SELECT BIN(111);
【实例】
返回 8 的二进制表示:
SELECT BIN(8);
MySQL BINARY 函数
【实例】
将值转换为二进制字符串:
SELECT BINARY "W3Schools.cn";
【定义和用法】
BINARY 函数将值转换为二进制字符串。
这个函数相当于使用CAST(value AS BINARY)。
【语法】
BINARY value
【参数值】
参数 | 描述 |
value | 必需。要转换的值 |
【技术细节】
适用于: | From MySQL 4.0 |
【实例】
这里 MySQL 对 "HELLO" 和 "hello" 进行逐个字符的比较并返回 1(因为逐个字符的基础上,它们是等价的):
SELECT "HELLO" = "hello";
【实例】
这里 MySQL 对 "HELLO" 和 "hello" 进行逐字节比较并返回 0(因为逐字节地,它们是不等价的):
SELECT BINARY "HELLO" = "hello";
MySQL CASE 函数
【实例】
遍历条件并在满足第一个条件时返回一个值:
SELECT OrderID, Quantity,
CASE
WHEN Quantity > 30 THEN "The quantity is greater than 30"
WHEN Quantity = 30 THEN "The quantity is 30"
ELSE "The quantity is under 30"
END
FROM OrderDetails;
【定义和用法】
CASE 语句遍历条件并在满足第一个条件时返回一个值(如 IF-THEN-ELSE 语句)。 因此,一旦条件为真,它将停止读取并返回结果。
如果没有条件为真,它将返回 ELSE 子句中的值。
如果没有ELSE部分且没有条件为真,则返回NULL。
【语法】
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;
【参数值】
参数 | 描述 |
condition1, condition2, ...conditionN | 必需。条件。 它们的评估顺序与列出的顺序相同 |
result1, result2, ...resultN | 必需。条件为真时返回的值 |
【技术细节】
适用于: | From MySQL 4.0 |
【实例】
以下 SQL 将按城市对客户进行排序。 但是,如果 City 为 NULL,则按 Country 排序:
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);
MySQL CAST() 函数
【实例】
将值转换为 DATE 数据类型:
SELECT CAST("2017-08-29" AS DATE);
【定义和用法】
CAST() 函数将一个值(任何类型)转换为指定的数据类型。
注:另见CONVERT()函数。
【语法】
CAST(value AS datatype)
【参数值】
参数 | 描述 |
value | 必需。要转换的值 |
datatype | 必需。要转换成的数据类型。可以是以下之一: |
值 | 描述 |
DATE | 将 value 转换为 DATE。格式:"YYYY-MM-DD" |
DATETIME | 将 value 转换为 DATETIME。格式:"YYYY-MM-DD HH:MM:SS" |
TIME | 将 value 转换为 TIME。格式:"HH:MM:SS" |
CHAR | 将value转换为CHAR(固定长度字符串) |
SIGNED | 将 value 转换为 SIGNED(带符号的 64 位整数) |
UNSIGNED | 将 value 转换为 UNSIGNED(无符号 64 位整数) |
BINARY | 将 value 转换为 BINARY(二进制字符串) |
【技术细节】
适用于: | From MySQL 4.0 |
【实例】
将值转换为 CHAR 数据类型:
SELECT CAST(150 AS CHAR);
【实例】
将值转换为 TIME 数据类型:
SELECT CAST("14:06:10" AS TIME);
【实例】
将值转换为 SIGNED 数据类型:
SELECT CAST(5-10 AS SIGNED);
MySQL COALESCE() 函数
【实例】
返回列表中的第一个非空值:
SELECT COALESCE(NULL, NULL, NULL, 'W3Schools.cn', NULL, 'Example.com');
【定义和用法】
COALESCE() 函数返回列表中的第一个非空值。
【语法】
COALESCE(val1, val2, ...., val_n)
【参数值】
参数 | 描述 |
val1, val2, val_n | 必需。要测试的值 |
【技术细节】
适用于: | From MySQL 4.0 |
【实例】
返回列表中的第一个非空值:
SELECT COALESCE(NULL, 1, 2, 'W3Schools.cn');
MySQL CONNECTION_ID() 函数
【实例】
返回当前连接的唯一连接 ID:
SELECT CONNECTION_ID();
【定义和用法】
CONNECTION_ID() 函数返回当前连接的唯一连接 ID。
【语法】
CONNECTION_ID()
【技术细节】
适用于: | From MySQL 4.0 |
MySQL CONV() 函数
【实例】
将数字从数字基系统 10 转换为数字基系统 2:
SELECT CONV(15, 10, 2);
【定义和用法】
CONV() 函数将一个数字从一个数字基系统转换为另一个,并将结果作为字符串值返回。
注:如果任何参数为 NULL,此函数将返回 NULL。同时查看BIN()函数。
【语法】
CONV(number, from_base, to_base)
【参数值】
参数 | 描述 |
number | 必需。一个数字 |
from_base | number的数字基系统(2到36之间的数字) |
to_base | 要转换为的数字基系统(2 到 36 或 -2 到 -36 之间的数字) |
【技术细节】
适用于: | From MySQL 4.0 |
【实例】
将数字从数字基系统 2 转换为数字基系统 10:
SELECT CONV(1111, 2, 10);
【实例】
将数字从数字基系统 10 转换为数字基系统 16:
SELECT CONV(88, 10, 16);
MySQL CONVERT() 函数
【实例】
将值转换为 DATE 数据类型:
SELECT CONVERT("2017-08-29", DATE);
【定义和用法】
CONVERT() 函数将值转换为指定的数据类型或字符集。
注:同时查看CAST()函数。
【语法】
CONVERT(value, type)
或者:
CONVERT(value USING charset)
【参数值】
参数 | 描述 |
value | 必需。 要转换的值 |
type | 必需。要转换成的数据类型。可以是以下之一: |
charset | 必须。要转换成的字符集 |
值 | 描述 |
DATE | 将 value 转换为 DATE。格式:"YYYY-MM-DD" |
DATETIME | 将value转换为DATETIME。格式:"YYYY-MM-DD HH:MM:SS" |
TIME | 将 value 转换为 TIME。格式:"HH:MM:SS" |
CHAR | 将value转换为CHAR(固定长度字符串) |
UNSIGNED | 将 value 转换为 SIGNED(带符号的 64 位整数) |
UNSIGNED | 将 value 转换为 UNSIGNED(无符号 64 位整数) |
BINARY | 将 value 转换为 BINARY(二进制字符串) |
【技术细节】
适用于: | From MySQL 4.0 |
【实例】
将值转换为 CHAR 数据类型:
SELECT CONVERT(150, CHAR);
【实例】
将值转换为 TIME 数据类型:
SELECT CONVERT("14:06:10", TIME);
【实例】
将值转换为 LATIN1 字符集:
SELECT CONVERT("W3Schools.cn" USING latin1);
MySQL CURRENT_USER() 函数
【实例】
返回 MySQL 账户的用户名和主机名:
SELECT CURRENT_USER();
【定义和用法】
CURRENT_USER() 函数返回服务器用来验证当前客户端的 MySQL 帐户的用户名和主机名。
结果以 UTF8 字符集的字符串形式返回。
注:另见USER()函数。
【语法】
CURRENT_USER()
【技术细节】
适用于: | From MySQL 4.0 |
MySQL DATABASE() 函数
【实例】
返回当前(默认)数据库的名称:
SELECT DATABASE();
【定义和用法】
DATABASE() 函数返回当前数据库的名称。
如果当前没有数据库,这个函数返回NULL或""。
【语法】
DATABASE()
【技术细节】
适用于: | From MySQL 4.0 |
MySQL IF() 函数
【实例】
如果条件为 TRUE,则返回 "YES",如果条件为 FALSE,则返回 "NO":
SELECT IF(500<1000, "YES", "NO");
【定义和用法】
如果条件为 TRUE,IF() 函数返回一个值,如果条件为 FALSE,则返回另一个值。
【语法】
IF(condition, value_if_true, value_if_false)
【参数值】
参数 | 描述 |
condition | 必需。 要测试的值 |
value_if_true | 可选。 condition为真时返回的值 |
value_if_false | 可选。 condition为假时返回的值 |
【技术细节】
适用于: | From MySQL 4.0 |
【实例】
如果条件为 TRUE,则返回 5,如果条件为 FALSE,则返回 10:
SELECT IF(500<1000, 5, 10);
【实例】
测试两个字符串是否相同,如果相同则返回 "YES",否则返回 "NO":
SELECT IF(STRCMP("hello","bye") = 0, "YES", "NO");
【实例】
如果条件为 TRUE,则返回 "MORE",如果条件为 FALSE,则返回 "LESS":
SELECT OrderID, Quantity, IF(Quantity>10, "MORE", "LESS")
FROM OrderDetails;
MySQL IFNULL() 函数
【实例】
如果表达式为NULL,则返回指定值,否则返回表达式:
SELECT IFNULL(NULL, "W3Schools.cn");
【定义和用法】
IFNULL() 函数在表达式为 NULL 时返回指定值。
如果表达式不为空,则此函数返回表达式。
【语法】
IFNULL(expression, alt_value)
【参数值】
参数 | 描述 |
expression | 必需。判断是否为NULL的表达式 |
alt_value | 必需。如果 expression 为 NULL,则返回的值 |
【技术细节】
适用于: | From MySQL 4.0 |
【实例】
如果表达式为NULL,则返回指定值,否则返回表达式:
SELECT IFNULL("Hello", "W3Schools.cn");
【实例】
如果表达式为NULL,则返回指定值,否则返回表达式:
SELECT IFNULL(NULL, 500);
MySQL ISNULL() 函数
【实例】
测试一个表达式是否为NULL:
SELECT ISNULL(NULL);
【定义和用法】
ISNULL() 函数根据表达式是否为 NULL 返回 1 或 0。
如果表达式为NULL,则该函数返回1。否则,返回0。
【语法】
ISNULL(expression)
【参数值】
参数 | 描述 |
expression | 必需。 要测试的值 |
【技术细节】
适用于: | From MySQL 4.0 |
【实例】
测试一个表达式是否为NULL:
SELECT ISNULL("");
【实例】
测试一个表达式是否为NULL:
SELECT ISNULL(350);
【实例】
测试一个表达式是否为NULL:
SELECT ISNULL("Hello world!");
MySQL LAST_INSERT_ID() 函数
【实例】
返回表中已插入或更新的最后一行的 AUTO_INCREMENT id:
SELECT LAST_INSERT_ID();
【定义和用法】
LAST_INSERT_ID() 函数返回表中已插入或更新的最后一行的 AUTO_INCREMENT id。
【语法】
LAST_INSERT_ID(expression)
【参数值】
参数 | 描述 |
expression | 可选。一个表达式 |
【技术细节】
适用于: | From MySQL 4.0 |
MySQL NULLIF() 函数
【实例】
比较两个表达式:
SELECT NULLIF(25, 25);
【定义和用法】
NULLIF() 函数比较两个表达式,如果相等则返回 NULL。 否则,返回第一个表达式。
【语法】
NULLIF(expr1, expr2)
【参数值】
参数 | 描述 |
expr1, expr2 | 必需。要比较的两个表达式 |
【技术细节】
适用于: | From MySQL 4.0 |
【实例】
比较两个表达式:
SELECT NULLIF(25, "Hello");
【实例】
比较两个表达式:
SELECT NULLIF("Hello", "world");
【实例】
比较两个表达式:
SELECT NULLIF("2017-08-25", "2017-08-25");
MySQL SESSION_USER() 函数
【实例】
返回 MySQL 连接的当前用户名和主机名:
SELECT SESSION_USER();
【定义和用法】
SESSION_USER() 函数返回 MySQL 连接的当前用户名和主机名。
注: 这个函数等于 SYSTEM_USER() 和 USER() 函数。
【语法】
SESSION_USER()
【技术细节】
适用于: | From MySQL 4.0 |
MySQL SYSTEM_USER() 函数
【实例】
返回 MySQL 连接的当前用户名和主机名:
SELECT SYSTEM_USER();
【定义和用法】
SYSTEM_USER() 函数返回 MySQL 连接的当前用户名和主机名。
注: 此函数等同于 SESSION_USER() 函数和 USER( ) 函数。
【语法】
SYSTEM_USER()
【技术细节】
适用于: | From MySQL 4.0 |
MySQL USER() 函数
【实例】
返回 MySQL 连接的当前用户名和主机名:
SELECT USER();
【定义和用法】
USER() 函数返回 MySQL 连接的当前用户名和主机名。
注: 此函数等同于 SESSION_USER() 函数和 SYSTEM_USER( ) 函数。同时查看 CURRENT_USER() 函数。
【语法】
USER()
【技术细节】
适用于: | From MySQL 4.0 |
MySQL VERSION() 函数
【实例】
返回 MySQL 数据库的当前版本:
SELECT VERSION();
【定义和用法】
VERSION() 函数以字符串形式返回 MySQL 数据库的当前版本。
【语法】
VERSION()
【技术细节】
适用于: | From MySQL 4.0 |