赞
踩
CONCAT:
用于将多个字符串连接成一个字符串。
SELECT CONCAT('Hello', ' ', 'World'); -- 输出: 'Hello World'
SUBSTRING:
用于截取字符串的子串。包前不包后,从1开始
SELECT SUBSTRING('MySQL', 1, 3); -- 输出: 'My'
UPPER
和LOWER:
用于将字符串转换为大写和小写。
- SELECT UPPER('mysql'); -- 输出: 'MYSQL'
- SELECT LOWER('MYSQL'); -- 输出: 'mysql'
LENGTH:
用于返回字符串的长度。
SELECT LENGTH('MySQL'); -- 输出: 5
TRIM:
用于去除字符串两侧的空格或指定字符。
- SELECT TRIM(' MySQL '); -- 输出: 'MySQL'
- SELECT TRIM('x' FROM 'xxxMySQLxxx'); -- 输出: 'MySQL'
REPLACE:
用于替换字符串中的指定子串。
SELECT REPLACE('MySQL is great', 'great', 'awesome'); -- 输出: 'MySQL is awesome'
LEFT
和RIGHT:
用于从字符串的左边或右边截取指定长度的子串
- SELECT LEFT('MySQL', 2); -- 输出: 'My'
- SELECT RIGHT('MySQL', 3); -- 输出: 'SQL'
INSTR:
用于查找子串在字符串中的位置。
SELECT INSTR('MySQL is great', 'is'); -- 输出: 7
LOCATE:
用于查找子串在字符串中的位置,类似于INSTR
函数。
SELECT LOCATE('is', 'MySQL is great'); -- 输出: 7
REVERSE:
用于将字符串反转。
SELECT REVERSE('MySQL'); -- 输出: 'LqsyM'
CONCAT_WS:
用于将多个字符串使用指定分隔符连接成一个字符串。
SELECT CONCAT_WS(', ', 'apple', 'orange', 'banana'); -- 输出: 'apple, orange, banana'
LPAD
和RPAD:
用于在字符串左边或右边填充指定字符,使字符串达到指定长度。
- SELECT LPAD('hello', 10, '*'); -- 输出: '*****hello'
- SELECT RPAD('hello', 10, '*'); -- 输出: 'hello*****'
ASCII:
用于返回字符的ASCII码值;CHAR:
用于根据ASCII码值返回字符。
- SELECT ASCII('A'); -- 输出: 65
- SELECT CHAR(65); -- 输出: 'A'
CURDATE:
用于返回当前日期。 SELECT CURDATE(); -- 输出: 当前日期,如 '2024-04-09'
CURTIME:
用于返回当前时间。 SELECT CURTIME(); -- 输出: 当前时间,如 '21:53:35'
NOW:
用于返回当前日期和时间。 SELECT NOW(); -- 输出: 当前日期和时间,如 '2024-04-09 21:53:35'
DATE:
用于提取日期部分。 SELECT DATE(NOW()); -- 输出: 当前日期,如 '2024-04-09'
TIME:
用于提取时间部分。 SELECT TIME(NOW()); -- 输出: 当前时间,如 '21:53:35'
DAY:
用于提取日期的天数部分。 SELECT DAY(NOW()); -- 输出: 当前日期的天数,如 9
MONTH:
用于提取日期的月份部分。 SELECT MONTH(NOW()); -- 输出: 当前日期的月份,如 4
YEAR:
用于提取日期的年份部分。 SELECT YEAR(NOW()); -- 输出: 当前日期的年份,如 2024
DATE_FORMAT:
用于格式化日期。 SELECT DATE_FORMAT(NOW(), '%Y-%m-%d'); -- 输出: 格式化后的当前日期,如 '2024-04-09'
DATEDIFF:
用于计算两个日期之间的天数差。 SELECT DATEDIFF('2024-04-10', '2024-04-01'); -- 输出: 9
DATE_ADD
和DATE_SUB:
用于对日期进行加减操作。 - SELECT DATE_ADD('2024-04-09', INTERVAL 1 DAY); -- 输出: '2024-04-10'
- SELECT DATE_SUB('2024-04-09', INTERVAL 1 MONTH); -- 输出: '2024-03-09'
ABS
:用于返回一个数的绝对值。 SELECT ABS(-10); -- 输出: 10
ROUND
:用于将数值四舍五入到指定的小数位数。 SELECT ROUND(3.14159, 2); -- 输出: 3.14
CEIL
:用于向上取整,FLOOR
函数用于向下取整。 - SELECT CEIL(3.5); -- 输出: 4
- SELECT FLOOR(3.5); -- 输出: 3
SQRT
:用于计算一个数的平方根。 SELECT SQRT(16); -- 输出: 4
POWER
:用于计算一个数的指定次幂。 SELECT POWER(2, 3); -- 输出: 8
RAND
:用于生成一个0到1之间的随机数。 SELECT RAND(); -- 输出: 0.12345(示例随机数)
MOD
:用于计算两个数的模。 SELECT MOD(10, 3); -- 输出: 1
SIGN
:用于返回数值的符号,正数返回1,负数返回-1,0返回0。 SELECT SIGN(-10); -- 输出: -1
EXP
:用于计算自然对数的指定数值次幂。 SELECT EXP(1); -- 输出: 2.71828(e的近似值)
LOG
:用于计算指定数的自然对数。 SELECT LOG(10); -- 输出: 2.30259(以e为底的对数)
SIN
、COS
和TAN
:分别用于计算给定角度的正弦、余弦和正切值。 - SELECT SIN(0); -- 输出: 0
- SELECT COS(0); -- 输出: 1
- SELECT TAN(0); -- 输出: 0
IF
函数用于在条件成立时返回一个值,否则返回另一个值。 SELECT IF(10 > 5, 'true', 'false'); -- 输出: 'true'
CASE
函数用于实现多重条件判断,类似于编程语言中的switch-case
语句。 - SELECT
- CASE
- WHEN grade >= 90 THEN 'A'
- WHEN grade >= 80 THEN 'B'
- WHEN grade >= 70 THEN 'C'
- ELSE 'D'
- END AS grade_letter
- FROM students;
COALESCE
函数用于返回参数列表中的第一个非NULL值。 SELECT COALESCE(NULL, 10, 20); -- 输出: 10
NULLIF
函数用于比较两个表达式,如果相等则返回NULL,否则返回第一个表达式的值。 SELECT NULLIF(10, 10); -- 输出: NULL
IFNULL
函数用于判断第一个表达式是否为NULL,如果是则返回第二个表达式,否则返回第一个表达式。 SELECT IFNULL(NULL, 'default'); -- 输出: 'default'
CASE WHEN
语句用于实现条件判断,类似于编程语言中的if-else
语句。 - SELECT
- CASE
- WHEN age < 18 THEN 'Child'
- WHEN age >= 18 AND age < 65 THEN 'Adult'
- ELSE 'Senior'
- END AS age_group
- FROM users;
- SELECT
- CASE
- WHEN age < 18 THEN 'Child'
- WHEN age >= 18 AND age < 65 THEN 'Adult'
- ELSE 'Senior'
- END AS age_group
- FROM users;
GREATEST
函数用于返回参数列表中的最大值,LEAST
函数用于返回参数列表中的最小值。 - SELECT GREATEST(10, 20, 30); -- 输出: 30
- SELECT LEAST(10, 20, 30); -- 输出: 10
ITERATE
用于跳到循环的下一次迭代,LEAVE
用于退出循环。 - CREATE PROCEDURE test_loop()
- BEGIN
- DECLARE i INT DEFAULT 0;
- my_loop: LOOP
- SET i = i + 1;
- IF i > 5 THEN
- LEAVE my_loop;
- END IF;
- SELECT i;
- END LOOP my_loop;
- END;
-
- CREATE PROCEDURE test_signal()
- BEGIN
- IF 10 < 5 THEN
- SIGNAL SQLSTATE '45000'
- SET MESSAGE_TEXT = 'Custom error message';
- END IF;
- END;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。