MySql常用函数详解

目录

1. 字符串函数

2. 数字函数

3. 日期和时间函数

4. 高级函数


1. 字符串函数

//1.CONCAT(s1,s2...sn),字符串 s1,s2 等多个字符串合并为一个字符串
SELECT CONCAT("SQL ", "Runoob ", "Gooogle ", "Facebook") AS ConcatenatedString;

//2.CHAR_LENGTH(s),返回字符串 s 的字符数
SELECT CHAR_LENGTH("RUNOOB") AS LengthOfString; -- 6

//3.UPPER(s),将字符串转换为大写
SELECT UPPER("runoob");  -- RUNOOB

//4.FORMAT(),函数可以将数字 x 进行格式化 "#,###.##", 将 x 保留到小数点后 n 位,最后一位四舍五入。
SELECT FORMAT(250500.5634, 2);   -- 250,500.56

//5.LOWER(),将字符串 s 的所有字母变成小写字母
SELECT LOWER('RUNOOB')    -- runoob 

//6.LEFT(s,n),返回字符串 s 的前 n 个字符
SELECT LEFT('runoob',2)   --  ru

//7.TRIM(s),去掉字符串 s 开始和结尾处的空格
SELECT TRIM('    RUNOOB    ') AS TrimmedString;

//8.SUBSTRING(s, start, length),从字符串 s 的 start 位置截取长度为 length 的子字符串,等同于 SUBSTR(s, start, length)
SELECT SUBSTRING("RUNOOB", 2, 3) AS ExtractString; -- UNO

2. 数字函数

//1.ABS(x),	返回 x 的绝对值 
SELECT ABS(-1) -- 返回1

//2.AVG(expression),返回一个表达式的平均值,expression 是一个字段
SELECT AVG(Price) AS AveragePrice FROM Products;

//3.COUNT(expression),返回查询的记录总数,expression 参数是一个字段或者 * 号
SELECT COUNT(ProductID) AS NumberOfProducts FROM Products;

//4.GREATEST(expr1, expr2, expr3, ...),返回列表中的最大值
SELECT GREATEST(3, 12, 34, 8, 25); -- 34
SELECT GREATEST("Google", "Runoob", "Apple");   -- Runoob

//5.MAX(expression),返回字段 expression 中的最大值
SELECT MAX(Price) AS LargestPrice FROM Products;

//6.MIN(expression),返回字段 expression 中的最小值
SELECT MIN(Price) AS MinPrice FROM Products;

//7.MOD(x,y),返回 x 除以 y 以后的余数 
SELECT MOD(5,2) -- 1

//8.ROUND(x [,y]),返回离 x 最近的整数,可选参数 y 表示要四舍五入的小数位数,如果省略,则返回整数。
SELECT ROUND(1.23456) --1
SELECT ROUND(345.156, 2) -- 345.16

//9.SUM(expression),返回指定字段的总和
SELECT SUM(Quantity) AS TotalItemsOrdered FROM OrderDetails;

3. 日期和时间函数

//1.ADDDATE(d,n),计算起始日期 d 加上 n 天的日期
SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY);
输出->2017-06-25

//2.CURDATE(),返回当前日期
SELECT CURDATE();
输出-> 2018-09-19

//3.CURRENT_DATE(),返回当前日期
SELECT CURRENT_DATE();
输出-> 2018-09-19

//4.CURRENT_TIME(),返回当前时间
SELECT CURRENT_TIME();
输出-> 19:59:02

//5.CURRENT_TIMESTAMP(),返回当前日期和时间
SELECT CURRENT_TIMESTAMP()
输出-> 2018-09-19 20:57:43

//6.DATE(),从日期或日期时间表达式中提取日期值
SELECT DATE("2017-06-15");    
输出-> 2017-06-15

//7.DATE_FORMAT(d,f),按表达式 f的要求显示日期 d
SELECT DATE_FORMAT('2011-11-11 11:11:11','%Y-%m-%d %r')
输出-> 2011-11-11 11:11:11 AM

//8.HOUR(t),返回 t 中的小时值
SELECT HOUR('1:2:3')
输出-> 1

//9.TIMEDIFF(time1, time2),	计算时间差值
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'

4. 高级函数

//1.BIN(x),返回 x 的二进制编码,x 为十进制数
SELECT BIN(15); -- 1111

//2.BINARY(s),将字符串 s 转换为二进制字符串
SELECT BINARY "RUNOOB";
-> RUNOOB

//3.CASE 表示函数开始,END 表示函数结束。如果 condition1 成立,则返回 result1, 如果 condition2 成立,则返回 result2,当全部不成立则返回 result,而当有一个成立之后,后面的就不执行了。
CASE expression
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
   ...
    WHEN conditionN THEN resultN
    ELSE result
END

SELECT CASE 
  WHEN 1 > 0
  THEN '1 > 0'
  WHEN 2 > 0
  THEN '2 > 0'
  ELSE '3 > 0'
  END
->1 > 0

//4.CAST(x AS type),转换数据类型
SELECT CAST("2017-08-29" AS DATE);
-> 2017-08-29

//5.COALESCE(expr1, expr2, ...., expr_n),返回参数中的第一个非空表达式(从左向右)
SELECT COALESCE(NULL, NULL, NULL, 'runoob.com', NULL, 'google.com');
-> runoob.com

//6.CURRENT_USER(),返回当前用户
SELECT CURRENT_USER();
-> guest@%

//7.DATABASE(),返回当前数据库名
SELECT DATABASE();   
-> runoob


  • 15
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值