第十一章 使用数据处理函数

学习目的:
知道什么是函数,MySQL支持哪些函数,以及如何使用这些函数。
 
函数:
SQL支持利用函数来处理数据。函数一般是在数据上执行的,它给数据的转换和处理提供了方便。
 
函数没有SQL的的可移植强。
为了代码的可移植性,许多SQL程序员不赞成使用特殊功实现的功能。如果你决定使用函数,应该保证做好代码注释,以便后来人能确切知道所编写SQL代码的含义。
 
使用函数:
大多数SQL实现支持一下类型的函数:
  • 用于处理文本串(如删除,填充,转换大小写)的文本函数。
  • 用于在数值数据上进行算术操作(如返回绝对值、进行代数运算)的数值函数。
  • 用于处理时间和日期值并从这些值中提取特定成分(如返回两个日期之差,检查日期的有效性等)的日期和时间函数。
  • 返回DBMS正使用的特殊信息(如发挥用户登录信息,检查版本细节)的系统函数。
 
文本处理函数:
常用的文本处理函数
函数
说明
Left()
返回串左边的字符
Length()
返回串的长度
Locate()
找出串的一个字串
Lower()
将串转换为小写
Ltrim()
去掉串左边的空格
Right()
返回串右边的字符
Rtrim()
去掉串右边的空格
Soundex()
返回串的SOUNEDX值
SubString()
返回字串的字符
Upper()
将串转换为大写
 
SOUNDEX是一个将任何文本串转换为描述语言表示的字母数字模式的算法。
 
Q:customers表中有一个顾 客Coyote Inc.,其联系名为Y.Lee。但如果这是输入错误,此联系名实际应该是Y.Lie,怎么办?
 
A: 现在试一下使用Soundex()函数进行搜索,它匹配所有发音类似于 Y.Lie的联系名:
SELECT cust_name,cust_contact
FROM customers
WHERE Soundex(`cust_contact`) = Soundex('Y Lei');
 
日期和时间处理函数:
日期和时间采用相应的数据类型和特殊的格式存储,以便能快速和有效地排序或过滤,并且节省物理存储空间。
 
一般,应用程序不使用用来存储日期和时间的格式,因此,日期和时间函数总是被用来读取、统计和处理这些值。由于这个原因,日期和时间函数在MySQL中具有重要作用。
 
常用日期和时间处理函数
函数
说明
AddDate()
增加一个日期(天、周等)
AddTime()
增加一个时间(时、分等)
CurDate()
返回当前日期
CurTime
返回当前时间
Date()
返回日期时间的日期部分
DateDiff()
计算两个日期之差
Date_Add()
高度灵活的日期运算函数
Date_Format()
返回一个格式化的日期或时间串
Day()
返回一个日期的天数部分
DayOfWeek()
对于一个日期,返回对应的星期几
Hour()
返回一个时间的小时部分
Minute()
返回一个时间的分钟部分
Month()
返回一个日期的月份部分
Now()
f返回当前的日期和时间
Second()
返回一个时间的秒部分
Time()
返回一个日期时间的时间部分
Year()
返回一个日期的年份部分
 
MySQL使用的日期格式:yyyy-mm-dd
SELECT cust_id, order_num
FROM orders
WHERE Date(order_date) ='2005-09-01'
 
如果要用日期,请使用Date()。
 
检索出2005年9月下的所有订单。
方法一:
SELECT cust_id, order_num
FROM orders
WHERE Date(order_date) BETWEEN '2005-09-01' AND '2005-09-30';
 
方法二:
SELECT cust_id, order_num
FROM orders
WHERE Year(order_date) =2005 AND Month(order_date) = 9;
 
数值处理函数:
数值处理函数仅处理数值数据。在主要的DBMS函数中,数值函数是最一直最统一的函数。
常用的数值处理函数
函数
说明
Abs()
返回一个数的绝对值
Cos()
返回一个角度的余弦
Exp()
返回一个数的指数指
Mod()
返回除操作的余数
Pi()
返回圆周率
Rand()
返回一个随机数
Sin()
返回一个角度的正弦
Sqrt()
返回一个数的平方根
Tan()
返回一个角度的正切
 

转载于:https://www.cnblogs.com/mumulin99/p/9837799.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值