数据库:SQL 函数有哪些?

SQL中包含了多种类型的函数,这些函数用于在SQL查询中执行各种操作,如计算、转换、操作数据等。以下是一些常见的SQL函数分类及其示例:

一、聚合函数

聚合函数用于对一组值执行计算,并返回单一值。

  • AVG(column):返回某列的平均值。
  • COUNT(column):返回某列中非NULL值的数量。如果COUNT(*),则返回表中的行数(包括有NULL值的列)。
  • MAX(column):返回某列的最大值。
  • MIN(column):返回某列的最小值。
  • SUM(column):返回某列中所有值的总和。

二、字符串函数

字符串函数用于对字符串数据进行操作。

  • CONCAT(str1, str2, ...):将两个或多个字符串连接成一个字符串。
  • LENGTH(str)LEN(str):返回字符串的长度。
  • LOWER(str):将字符串转换为小写。
  • UPPER(str):将字符串转换为大写。
  • SUBSTR(str, start, length)SUBSTRING(str, start, length):从字符串中提取子字符串。
  • TRIM(str):去除字符串两端的空格。
  • REPLACE(str, from_str, to_str):将字符串中的from_str替换为to_str。

三、数值函数

数值函数用于对数值数据进行操作。

  • ABS(num):返回数值的绝对值。
  • CEIL(num)CEILING(num):向上取整到最近的整数。
  • FLOOR(num):向下取整到最近的整数。
  • ROUND(num, decimal_places):将数值四舍五入到指定的小数位数。
  • MOD(x, y):返回x除以y的余数。
  • RAND():返回0到1之间的随机浮点数。
  • TRUNCATE(number, decimal_places):将数值截断到指定的小数位数。

四、日期和时间函数

日期和时间函数用于处理日期和时间数据。

  • NOW():返回当前的日期和时间。
  • CURDATE()CURRENT_DATE():返回当前的日期。
  • CURTIME()CURRENT_TIME():返回当前的时间。
  • DATE_ADD(date, INTERVAL expr type):在日期上加上一个时间间隔。
  • DATE_SUB(date, INTERVAL expr type):从日期上减去一个时间间隔。
  • DATEDIFF(date1, date2):计算两个日期之间的天数差。
  • YEAR(date)MONTH(date)DAY(date):从日期中提取年、月、日。
  • DATE_FORMAT(date, format):将日期按照指定的格式进行格式化。

五、转换函数

转换函数用于数据类型之间的转换。

  • CONVERT(data_type(length), expression, [style]):将表达式转换为指定的数据类型。
  • CAST(expression AS data_type(length)):将表达式转换为另一种数据类型。

六、条件函数

条件函数用于在查询中实现条件逻辑。

  • CASE WHEN condition THEN result [WHEN ...] [ELSE result] END:根据条件进行逻辑判断,并返回相应的结果。
  • IF(expr1, expr2, expr3):如果expr1为真,则返回expr2;否则返回expr3。

七、加密函数

加密函数用于对数据进行加密处理。

  • AES_ENCRYPT(str, key):使用AES加密算法加密字符串。
  • AES_DECRYPT(str, key):使用AES加密算法解密字符串。

请注意,不同的数据库系统(如MySQL、PostgreSQL、SQL Server、Oracle等)可能会有一些特定的函数和语法,但大多数标准SQL函数在各个系统中都是通用的。此外,随着数据库技术的发展,新的函数和特性可能会不断被引入,因此建议查阅特定数据库系统的官方文档以获取最准确和最新的信息。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ac-er8888

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值