返回 CustomerName 字段第一个字母的 ASCII 码:

SELECT ASCII(CustomerName) AS NumCodeOfFirstChar
FROM Customers;
CHAR_LENGTH(s) 返回字符串 s 的字符数

返回字符串 RUNOOB 的字符数

SELECT CHAR_LENGTH("RUNOOB") AS LengthOfString; SUBSTRING(s, start, length) 从字符串 s 的 start 位置截取长度为 length 的子字符串,等同于 SUBSTR(s, start, length)

从字符串 RUNOOB 中的第 2 个位置截取 3个 字符:

SELECT SUBSTRING("RUNOOB", 2, 3) AS ExtractString; -- UNO SUBSTRING_INDEX(s, delimiter, number) 返回从字符串 s 的第 number 个出现的分隔符 delimiter 之后的子串。
如果 number 是正数,返回第 number 个字符左边的字符串。
如果 number 是负数,返回第(number 的绝对值(从右边数))个字符右边的字符串。

Orders 表中 OrderDate 字段减去 2 天:

SELECT OrderId,DATE_SUB(OrderDate,INTERVAL 2 DAY) AS OrderPayDate FROM Orders mysql> SELECT TIMEDIFF("13:10:11", "13:10:10"); -> 00:00:01 mysql> SELECT TIMEDIFF('2000:01:01 00:00:00', -> '2000:01:01 00:00:00.000001'); -> '-00:00:00.000001' mysql> SELECT TIMEDIFF('2008-12-31 23:59:59.000001', -> '2008-12-30 01:01:01.000002'); -> '46:58:57.999999' mysql> SELECT TIMESTAMP("2017-07-23", "13:10:11"); -> 2017-07-23 13:10:11 mysql> SELECT TIMESTAMP('2003-12-31'); -> '2003-12-31 00:00:00' mysql> SELECT TIMESTAMP('2003-12-31 12:00:00','12:00:00'); -> '2004-01-01 00:00:00' TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) 计算时间差,返回 datetime_expr2 − datetime_expr1 的时间差 mysql> SELECT TIMESTAMPDIFF(DAY,'2003-02-01','2003-05-01'); // 计算两个时间相隔多少天 mysql> SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01'); // 计算两个时间相隔多少月 mysql> SELECT TIMESTAMPDIFF(YEAR,'2002-05-01','2001-01-01'); // 计算两个时间相隔多少年 mysql> SELECT TIMESTAMPDIFF(MINUTE,'2003-02-01','2003-05-01 12:05:55'); // 计算两个时间相隔多少分钟 -> 128885 CASE 表示函数开始,END 表示函数结束。如果 condition1 成立,则返回 result1, 如果 condition2 成立,则返回 result2,当全部不成立则返回 result,而当有一个成立之后,后面的就不执行了。 SELECT CASE   WHEN 1 > 0   THEN '1 > 0'   WHEN 2 > 0   THEN '2 > 0'   ELSE '3 > 0' ->1 > 0
函数 描述 实例
JSON_OBJECT() 将键值对转换为 JSON 对象
SELECT JSON_OBJECT('key1', 'value1', 'key2', 'value2')
JSON_ARRAY() 将值转换为 JSON 数组
SELECT JSON_ARRAY(1, 2, 'three')
JSON_EXTRACT() 从 JSON 字符串中提取指定的值
SELECT JSON_EXTRACT('{"name": "John", "age": 30}', '$.name')
JSON_CONTAINS() 检查一个 JSON 字符串是否包含指定的值
SELECT JSON_CONTAINS('{"name": "John", "age": 30}', 'John', '$.name')
ROW_NUMBER() 为查询结果中的每一行分配一个唯一的数字
SELECT ROW_NUMBER() OVER(ORDER BY id) AS row_number, name FROM users
RANK() 为查询结果中的每一行分配一个排名
SELECT RANK() OVER(ORDER BY score DESC) AS rank, name, score FROM students
  • #0

  •