SQL - 使用函数处理数据

1、文本处理函数

SELECT UPPER(nickname)
FROM demo
WHERE id = 1

分析:这条sql的功能是将查询回来的nickname转为大写。类似的功能还有很多,可以看下表,自行测试。

函数说明
Left()返回串左边的字符
Right()返回串右边的字符
Length()返回串的长度
Locate()找出串的一个子串
Lower()将串转换为小写
Upper()将串转换为大写
LTrim()去掉串左边的空格
RTrim()去掉串右边的空格
Soundex()返回串的SOUNDEX值
SubString()返回子串的字符
1.1 Locate()用法:
SELECT LOCATE('an',nickname)
FROM demo
WHERE id = 1

分析:这条sql的功能是返回字符串nickname第一次出现子串 "an"的位置。同时这个函数还可以指定开始检索的位置:

SELECT LOCATE('an',nickname,2)
FROM demo
WHERE id = 1

分析:现在这个函数就是从第2个字符开始检索子串,如果匹配到子串将返回下标(以1开始),否则返回0。

1.2 SubString()用法:

SubString() 函数是用来返回数据中的子串,第2的参数则是指定子串开始的位置,同时还可以指定子串中止的位置(可选)。

SELECT SubString(nickname,2,6)
FROM demo
WHERE id = 1

2、日期和时间处理函数

日期和时间采用相应的数据类型和特殊的格式存储,以便能快速和有效地排序或过滤,并且节省物理存储空间。下表列出了某些常用的日期和时间处理函数。

函数说明
AddDate()增加一个日期(天、周等)
AddTime()增加一个时间(时、分等)
CurDate()返回当前日期
CurTime()返回当前时间
Date()返回日期时间的日期部分
DateDiff()计算两个日期之差
Date_Add()高度灵活的日期运算函数
Date_Format()返回一个格式化的日期或时间串
Day()返回一个日期的天数部分
DayOfWeek()对于一个日期,返回对应的星期几
Hour()返回一个时间的小时部分
Minute()返回一个时间的分钟部分
Month()返回一个日期的月份部分
Now()返回当前日期和时间
Second()返回一个时间的秒部分
Time()返回一个日期时间的时间部分
Year()返回一个日期的年份部分
SELECT Hour(create_time)
FROM demo
where id = 1

分析:返回create_time,并且只取小时部分。其他函数可以自行测试,这里就不在赘述。

3、数值处理函数

数值处理函数仅处理数值数据。这些函数一般主要用于代数、三角或几何运算。下表列出一些常用的数值处理函数。

函数说明
Abs()返回一个数的绝对值
Cos()返回一个角度的余弦
Exp()返回一个数的指数值
Mod()返回除操作的余数
Pi()返回圆周率
Rand()返回一个随机数
Sin()返回一个角度的正弦
Sqrt()返回一个数的平方根
Tan()返回一个角度的正切

4、汇总函数

我们经常需要汇总数据而不用把它们实际检索出来,为此MySQL提供了专门的函数。使用这些函数,MySQL查询可用于检索数据,以便分析和报表生成。

函数说明
AVG()返回某列的平均值
COUNT()返回某列的行数
MAX()返回某列的最大值
MIN()返回某列的最小值
SUM()返回某列值之和

AVG()函数:

SELECT avg(count)
FROM demo

分析:返回表中count字段的平均值。其他函数可以自行测试,这里就不在赘述。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值