【MySQL】内置函数

在这里插入图片描述

欢迎来到Cefler的博客😁
🕌博客主页:折纸花满衣
🏠个人专栏:MySQL

在这里插入图片描述


👉🏻日期函数

MySQL提供了许多内置函数来处理日期和时间值。以下是MySQL中一些常见的日期函数:

  1. NOW()

    • 返回当前的日期和时间。
  2. CURDATE()

    • 返回当前的日期。
  3. CURTIME()

    • 返回当前的时间。
  4. DATE_FORMAT(date, format)

    • 按照指定的格式显示日期/时间值。例如:DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')
  5. DAY(date)

    • 返回日期值中的天。
  6. MONTH(date)

    • 返回日期值中的月份。
  7. YEAR(date)

    • 返回日期值中的年份。
  8. DATEDIFF(date1, date2)

    • 返回两个日期之间的天数差。
  9. DAYOFWEEK(date)

    • 返回日期是星期几(1=周日,2=周一,…,7=周六)。
  10. DAYOFMONTH(date)

    • 返回日期是一个月中的第几天(1到31)。
  11. DAYOFYEAR(date)

    • 返回日期是一年中的第几天(1到366)。
  12. WEEK(date)

    • 返回日期是一年中的第几周(取决于default_week_format系统变量)。
  13. WEEKDAY(date)

    • 返回日期是星期几(0=周一,1=周二,…,6=周日)。
  14. QUARTER(date)

    • 返回日期是一年中的第几季度(1到4)。
  15. HOUR(time)

    • 返回时间值的小时部分。
  16. MINUTE(time)

    • 返回时间值的分钟部分。
  17. SECOND(time)

    • 返回时间值的秒部分。
  18. STR_TO_DATE(str, format)

    • 将字符串按照指定的格式转换为日期。
  19. DATE_ADD(date, INTERVAL expr unit)

    • 将一个时间间隔加到日期上。例如:DATE_ADD(CURDATE(), INTERVAL 1 DAY)
  20. DATE_SUB(date, INTERVAL expr unit)

    • 从日期中减去一个时间间隔。例如:DATE_SUB(CURDATE(), INTERVAL 1 DAY)
  21. LAST_DAY(date)

    • 返回一个月中的最后一天。
  22. FROM_UNIXTIME(unix_timestamp)

    • 将UNIX时间戳转换为日期时间值。
  23. UNIX_TIMESTAMP(date)

    • 将日期时间值转换为UNIX时间戳。
  24. TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)

    • 返回两个日期时间表达式之间的差异,结果基于指定的时间单位。
  25. CONVERT_TZ(dt, from_tz, to_tz)

    • 将日期时间值从一种时区转换为另一种时区。

以上只是MySQL日期函数中的一部分,但它们是处理日期和时间数据时最常用的函数。当你需要更复杂的日期和时间计算时,组合使用这些函数通常可以满足需求。

👉🏻字符串函数

当涉及到字符串处理时,MySQL提供了许多内置的字符串函数。以下是一些常见的MySQL字符串函数:

  1. CONCAT(str1, str2, …)

    • 连接两个或多个字符串。
  2. CONCAT_WS(separator, str1, str2, …)

    • 使用指定的分隔符连接两个或多个字符串。
  3. LENGTH(str)CHAR_LENGTH(str)

    • 返回字符串的长度(字符数)。
  4. LOWER(str)

    • 将字符串中的所有字符转换为小写。
  5. UPPER(str)

    • 将字符串中的所有字符转换为大写。
  6. LTRIM(str)

    • 去除字符串左侧的空格。
  7. RTRIM(str)

    • 去除字符串右侧的空格。
  8. TRIM(str)

    • 去除字符串两侧的空格。
  9. SUBSTRING(str, pos, len)

    • 从字符串中提取子字符串,从指定的位置开始,并指定长度。
  10. SUBSTRING_INDEX(str, delimiter, count)

    • 根据指定的分隔符将字符串分割为子字符串,并返回第count个子字符串(如果count为正数,则从左边开始计数;如果为负数,则从右边开始计数)。
  11. LOCATE(substr, str)POSITION(substr IN str)

    • 返回子字符串在字符串中首次出现的位置(从1开始计数)。如果未找到子字符串,则返回0。
  12. REPLACE(str, from_str, to_str)

    • 在字符串中替换所有出现的子字符串。
  13. LEFT(str, len)

    • 返回字符串最左侧的len个字符。
  14. RIGHT(str, len)

    • 返回字符串最右侧的len个字符。
  15. LPAD(str, len, padstr)

    • 使用指定的填充字符串padstr将原字符串str从左侧填充到指定的长度len
  16. RPAD(str, len, padstr)

    • 使用指定的填充字符串padstr将原字符串str从右侧填充到指定的长度len
  17. REPEAT(str, count)

    • 重复字符串str指定的次数count
  18. SPACE(n)

    • 返回包含n个空格的字符串。
  19. STRCMP(str1, str2)

    • 比较两个字符串。如果str1小于str2,则返回负数;如果相等,则返回0;如果str1大于str2,则返回正数。
  20. INITCAP(str)(在某些数据库系统中可能不可用)

    • 将字符串中的每个单词的首字母转换为大写,其余字母转换为小写。

这些函数在处理字符串时非常有用,无论是用于数据清洗、转换、格式化还是查询时的字符串匹配。你可以根据具体的需求选择适合的函数来处理字符串数据。

👉🏻数学函数

在MySQL中,也提供了许多内置的数学函数用于在数据库查询中进行数学计算。以下是一些常见的MySQL数学函数:

  1. ABS(X)

    • 返回X的绝对值。
  2. CEIL(X) 或 CEILING(X)

    • 返回大于或等于X的最小整数。
  3. FLOOR(X)

    • 返回小于或等于X的最大整数。
  4. ROUND(X)

    • 返回最接近X的整数。如果X有小数部分,则四舍五入。
  5. ROUND(X, D)

    • 返回X四舍五入到D位小数的值。
  6. TRUNCATE(X, D)

    • 返回X截断到D位小数的值,不进行四舍五入。
  7. MOD(N, M)

    • 返回N除以M的余数。
  8. POW(X, Y) 或 POWER(X, Y)

    • 返回X的Y次幂。
  9. SQRT(X)

    • 返回X的平方根。
  10. EXP(X)

    • 返回e的X次幂(e是自然对数的底数)。
  11. LN(X)

    • 返回X的自然对数。
  12. LOG(X)

    • 返回X的自然对数(在某些版本的MySQL中,LOG()默认是底数为10的对数)。
  13. LOG2(X)

    • 返回X以2为底的对数。
  14. LOG10(X)

    • 返回X以10为底的对数。
  15. RADIANS(X)

    • 将角度X从度转换为弧度。
  16. DEGREES(X)

    • 将弧度X从弧度转换为度。
  17. PI()

    • 返回圆周率π的值。
  18. SIGN(X)

    • 返回X的符号。如果X是负数,则返回-1;如果X是0,则返回0;如果X是正数,则返回1。
  19. RAND()

    • 返回一个0到1之间的随机浮点数。
  20. RAND(N)

    • 返回一个基于种子N的随机浮点数。如果N是常数,那么RAND(N)将返回一个可重复的随机序列。
  21. COS(X)

    • 返回X(以弧度为单位)的余弦值。
  22. SIN(X)

    • 返回X(以弧度为单位)的正弦值。
  23. TAN(X)

    • 返回X(以弧度为单位)的正切值。
  24. ACOS(X)

    • 返回X的反余弦值(以弧度为单位)。
  25. ASIN(X)

    • 返回X的反正弦值(以弧度为单位)。
  26. ATAN(X)

    • 返回X的反正切值(以弧度为单位)。
  27. ATAN2(Y, X)

    • 返回点(X, Y)与正X轴之间的角度(以弧度为单位),考虑符号。

这些函数可以在MySQL查询中用于各种数学计算,使得数据库查询更加强大和灵活。

补充

当谈到MySQL中的bin(), hex(), conv(), 和 format() 函数时,它们各自有不同的用途和功能。以下是这些函数的简要介绍:

  1. bin(N)

bin() 函数将十进制数 N 转换为二进制字符串表示形式。

示例:

SELECT bin(10);  -- 输出 '1010'
  1. hex(N)HEX(str)

hex() 函数有两种用法:

  1. hex(N):将十进制数 N 转换为十六进制字符串表示形式。
  2. HEX(str):将字符串 str 中的每个字符转换为对应的十六进制表示。

示例:

SELECT hex(255);  -- 输出 'FF'
SELECT HEX('abc');  -- 输出 '616263'('a' 是 61, 'b' 是 62, 'c' 是 63)
  1. conv(N, from_base, to_base)

conv() 函数将数字 N 从一个基数 from_base 转换到另一个基数 to_basefrom_baseto_base 必须是2到36之间的整数。

示例:

SELECT conv(10, 10, 2);  -- 将十进制数10转换为二进制,输出 '1010'
SELECT conv('A', 16, 10);  -- 将十六进制数'A'(即10)转换为十进制,输出 '10'
  1. format(X, D, locale)

format() 函数将数字 X 格式化为字符串,并保留 D 位小数。但是,请注意,MySQL的FORMAT()函数通常只接受两个参数:XD。第三个参数 locale 在某些数据库系统中可能不被支持或具有不同的行为。

示例:

SELECT FORMAT(12345.6789, 2);  -- 输出 '12,345.68'(注意,这里使用了逗号作为千位分隔符,但这取决于数据库配置和地区设置)

在某些数据库系统中,FORMAT() 函数可能还支持其他格式化选项,如货币符号、千位分隔符等,但具体取决于实现和地区设置。

请注意,以上函数的行为和输出可能因MySQL版本、地区设置和数据库配置的不同而有所差异。因此,在使用这些函数时,最好查阅特定MySQL版本的官方文档以获取最准确的信息。

👉🏻系统信息函数

  • VERSION():返回 MySQL 服务器的版本。
  • USER() 或 SYSTEM_USER():返回当前 MySQL 用户名和主机名。
  • DATABASE() 或 SCHEMA():返回当前数据库名

👉🏻加密函数

  • MD5():返回字符串的 MD5 哈希值。
  • SHA1():返回字符串的 SHA-1 哈希值。

👉🏻控制流函数

  • NULLIF(expr1, expr2):如果 expr1 等于 expr2,则返回 NULL;否则返回 expr1。
  • COALESCE(value1, value2, …):返回参数列表中的第一个非 NULL 值。

如上便是本期的所有内容了,如果喜欢并觉得有帮助的话,希望可以博个点赞+收藏+关注🌹🌹🌹❤️ 🧡 💛,学海无涯苦作舟,愿与君一起共勉成长

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值