MySql最基本最常用的函数小结

MySQL提供了很多功能强大、方便易用的函数,在进行数据库管 理以及数据的查询和操作时,帮助我们提高对数据库的管理效率。此本即总结了MySql中非常方便常用的函数

MySql函数

MySql中函数分为两类
在这里插入图片描述
基本函数语法:
函数名(参数列表)

1. 数学函数

  1. ABS(x):返回x的绝对值;

  2. SQRT(x):返回非负数x的平方根;

  3. PI():返回圆周率;

  4. MOD(x,y)或%:返回x被y除的余数; 即x%y;

  5. CEIL(x)、CEILING(x):返回大于或者等于x的最小整数值;
    CEIL(3) 返回3
    CEIL(3.3) 返回4
    应用场景:
    不足1按1计算的场景

  6. FLOOR(x):返回小于或者等于x的最大整数值;

  7. ROUND(x,y):返回保留小数点后面y位,四舍五入的整数;

  8. TRUNCATE(x,y):返回被舍弃的小数点后y位的数字x;后面的截断丢弃,不进行四舍五入

  9. RAND():每次产生不同的随机数;
    RAND(x):返回一个范围在0~1之间的随机浮点数,x为随机种子

  10. SIGN(x):返回参数的符号;

  11. POW(x,y)和POWER(x,y): 返回x的y次乘方的结果值;

  12. EXP(x):返回以e为底的x乘方后的值;

  13. LOG(x):返回x的自然对数,x相对于基数e的对数;

  14. LOG10(x):返回x的基数为10的对数;

  15. RADIANS(x):将参数x由角度转化为弧度;

  16. DEGREES(x):将参数x由弧度转化为度。

  17. SIN(x):返回x正弦,其中x为弧度值;

  18. ASIN(x)返回x的反正弦,即正弦为x的值;

  19. COS(x):返回x的余弦;

  20. ACOS(x):返回x反余弦

  21. TAN(x):返回x的正切;

  22. ATAN(x)返回x的反正切;

2.字符串函数

• CHAR_LENGTH(str):返回字符串str的所包含字符个数;
• LENGTH(str):返回字符串str的字节长度;
• CONCAT(s1,s2,…): 字符串连接;
• CONCAT_WS(x,s1,s2,…):字符串连接, x是其它参数的分隔符;

在这里插入图片描述

• INSERT(s1,x,len,s2) :返回字符串s1,s1中插入字符串s2;

在位置x起始的子串(下标从1开始)且len个字符长的子串由字符串 s2代替。如果子串超过s1字符串长度,返回原串;若有参数为null,则返回null。

• LOWER (str)|LCASE (str):将字符串全部转换成小写字母;
• UPPER(str)|UCASE(str):将字符串全部转换成大写字母;
• LEFT(s,n):返回最左边指定长度的字符;
• RIGHT(s,n):返回最右边指定长度的字符;
• LPAD(s1,len,s2)| RPAD(s1,len,s2) :填充字符串函数;
• TRIM(s1 FROM s)|LTRIM(s)|RTRIM(s):删除空格函数;
• REPEAT(s,n):重复生成字符串函数;
• SPACE(n):返回一个由n个空格组成的字符串;
• REPLACE(s,s1,s2):字符串替换函数;
• STRCMP(s1,s2):比较字符串大小函数;
• SUBSTRING(s,n,len):获取子串函数;
• LOCATE(str1,str)|POSITION(str1 IN str)|INSTR(str, str1): 匹配子串开始位置函数;
• REVERSE(s):将字符串s反转;
• ELT(N,字符串1,字符串2,字符串3,…):返回指定位置函数;

3.日期和时间函数

• CURDATE()和CURRENT_DATE() :获取当前日期函数;
• NOW():返回服务器的当前日期和时间;
• CURTIME():返回当前时间,只包含时分秒;
• UTC_DATE():返回世界标准时间日期函数;
• UTC_TIME():返回世界标准时间函数;
• TIMEDIFF(expr1, expr2):返回两个日期相减相差的时间数;
• DATEDIFF(expr1, expr2):返回两个日期相减相差的天数;
• DATE_ADD(date,INTERVAL expr type):日期加上一个时间间隔值;
• DATE_SUB(date,INTERVAL expr type):日期减去一个时间间隔值;
• DATE(date)、TIME(date)、YEAR(date):选取日期时间的各个部分:
• EXTRACT(unit FROM date):从日期中抽取出某个单独的部分或组合;
• DAYOFWEEK(date) 、DAYOFMONTH(date) 、DAYOFYEAR(date):返回日期在 一周、一月、一年中是第几天
• DAYNAME、MONTHNAME:返回日期的星期和月份名称;
• DATE_FORMAT(date,format):格式化日期;
• TIME_FORMATE(time,formate):格式化时间;

4.流程控制函数

常见的控制流程函数如下:

CASE

  • 基本语法结构
    CASE value WHEN 表达式 THEN 结果
    ELSE 结果
    END
  • 有两种写法:
  1. CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result …] [ELSE result] END
  2. CASE WHEN [condition] THEN result [WHEN [condition] THEN result …] [ELSE result] END
  3. • 在第一个方案的返回结果中, value=compare-value(即当value和compare-value相等时,放回result)。
    • 而第二个方案的返回结果是第一种情况的真实结果。如果没有匹配的结果值,则返回结果为ELSE后的结果,如果没有ELSE 部分,则返回值为 NULL。

IF(expr1,expr2,expr3)

  • 用法:如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL), 则 IF()的返回值为expr2; 否则返回值则为 expr3。
  • IF() 的返回值为数字值或字符串值,具体情况视其所在语 境而定。
  • 举例:
    在这里插入图片描述
    在这里插入图片描述

IFNULL(expr1,expr2)|NULLIF(expr1,expr2)

  • 假如expr1 不为NULL ,则IFNULL() 的返回值为expr1 ;
    否则其返在这里插入图片描述
    回值为expr2 。
  • IFNULL() 的返回值是数字或是字符串,具体情况取决于其所使用的语境
  • 举例:
    在这里插入图片描述

5.其他函数

• Database():返回使用utf8 字符集的默认( 当前) 数据库名
• Version():返回指示MySQL 服务器版本的字符串。
• User():返回当前MySQL 用户名和机主名
• Inet_aton():给出一个作为字符串的网络地址的点地址表示, 返回一个代表该地址数值的整数。
• Inet_ntoa():给定一个数字网络地址, 返回作为字符串的该 地址的点地址表示。
• Password(str):从原文密码str 计算并返回密码字符串,当 参数为NULL 时返回NULL。
• Md5(str):为字符串算出一个MD5 128 比特检查和。

猜你喜欢

转载自blog.csdn.net/qq_45768060/article/details/108605355