几种常见的sql函数

前言

   作为一个程序员,数据的重要性不言而喻,我们写的所有程序无非都是在围绕数据在转。那么如何更加方便快捷的从数据库中取出数据对于我们来说也是至关重要的,还好有各种各样的sql函数,让我们的sql语句更加简洁明了,减轻我们的工作量,以下是我在最近工作中遇到的sql函数,希望能给大家带来帮助。

sql函数

  1. concat(str1,str2,str3…) 连接字符串
    通俗点解释就是拼接函数,就是把几个字段拼接成一个新字段,例如货币符号与金额的拼接
    SELECT CONCAT('¥','30')
    结果: ¥30
    这个函数特别简单,只是有很多初学者不知道,就还有那些功能各位可以自己试着看看,毕竟百看不如一练,多动手总有好处的
  2. group_concat()官方解释:该函数返回带有来自一个组的连接的非NULL值的字符串结果
    完整语法:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’])
    其实就是将查询的结果自动分组展示,将那些属于同一组的字段合并为一个字段,下面举个例子吧(原谅技术男蹩脚的解释)如A表
    |id |money |
    |1 |10|
    |1 |20|
    |2 | 10|
    |3 | 30|
    select id , group_concat(money) from A group by id
    结果:
    |1 |10,20|
    |2 |10|
    |3 |30|
    group_concat()最好和group by一块使用,才能达到上述的效果,否则查出来的结果会显示为一条数据。
    distinct是用来去除重复的字段,
    separator可以自定义分隔符吗,我认为该函数在表关系复杂的时候用起来会效果更好,如下图的是一对多的两个表,在特定场合里应该会用起来比较方便,具体的如下图:
    这里写图片描述

  3. date_format()
    完整语法:DATE_FORMAT(date,format)
    解释:设置日期类型的显示格式
    在开发过程中,对于日期的显示格式,可能不同的场景有不同的要求,直接从数据库中的查出的日期很难直接满足我们的开发需求,这就需要我们的后期处理,但是使用这个函数就可以自己直接定义从数据库中查出的日期格式,如:
    SELECT DATE_FORMAT(groupOpenDate,'%Y-%m-%d %T') from group
    结果:
    2010-03-30 00:00:00
    SELECT DATE_FORMAT(groupOpenDate,'%Y-%m-%d') from group
    2010-03-30
    而且format有多种形式的参数,具体参考:http://www.w3school.com.cn/sql/func_date_format.asp

  4. now()
    解释:插入当前时间
    格式:‘YYYY-MM-DD HH:MM:SS’
    相关函数:curdate()‘YYYY-MM-DD’
    cuetime() ‘HH:MM:SS’
  5. format()
    解释:格式化输出数据
    例子:SELECT FORMAT(423423234.65434453,2);
    结果:423,423,234.65
    注意:当然它也会格式化数据为整数和浮点式,属于四舍五入。
    ####这只能算是对我最近工作一部分的总结,同时分享出来,希望能给大家帮助,后续我也会把工作中遇到的sql函数继续总结补充进来,也希望大家能提出不同的看法和意见,和大家分享,共同进步。
### SQL 中的函数种类 SQL 提供了丰富的函数来支持数据的操作和管理,主要可以分为以下几类: #### 1. 聚合函数 聚合函数用于对一组值进行计算并返回单个汇总结果。这类函数通常与 `GROUP BY` 子句一起使用,以实现分组统计的功能[^1]。 常见聚合函数包括: - `COUNT()`:计数功能。 - `SUM()`:求和功能。 - `AVG()`:平均值计算。 - `MAX()` 和 `MIN()`:分别获取最大值和最小值。 #### 2. 系统内置函数 系统内置函数由数据库管理系统提供,涵盖了广泛的用途,如字符串处理、数值运算、日期时间操作等[^2]。 具体类别如下: - **字符串函数**:例如 `CONCAT()`, `SUBSTRING()`, `UPPER()`, `LOWER()` 等,用于字符串拼接、截取或大小写转换。 - **数值函数**:例如 `ABS()`, `ROUND()`, `CEILING()`, `FLOOR()` 等,用于数值的绝对值、四舍五入或其他数学运算。 - **条件判断函数**:例如 `IFNULL()`, `COALESCE()` 等,用于处理空值的情况。 #### 3. 时间函数 时间函数专门针对日期和时间数据设计,能够完成诸如提取年月日、加减时间段、格式化显示等功能[^3]。 典型的时间函数有: - `NOW()`: 获取当前日期和时间。 - `DATE_FORMAT()`: 将日期按照指定格式输出。 - `DATEDIFF()`: 计算两个日期之间的天数差。 #### 4. 用户自定义函数 (UDFs) 除了上述预设好的函数外,开发者还可以创建自己的用户定义函数(UDFs),通过编写特定逻辑扩展系统的功能性。 这种方式增强了灵活性,使得复杂的业务规则可以直接嵌入到查询之中。 ```sql -- 创建一个简单的用户定义函数示例 CREATE FUNCTION AddNumbers (@num1 INT, @num2 INT) RETURNS INT AS BEGIN RETURN @num1 + @num2; END; ``` 以上便是 SQL 中不同类型的函数介绍,每一种都有其独特的适用场景和技术特点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值