1、函数
与其他大多数计算机语言一样,SQL支持利用函数来处理数据。函数一般是在数据上执行的,它给数据的转换和处理提供了方便。
1.使用函数:
(1)用于处理文本串(如删除或填充值,转换值为大写或小写)的文本函数
(2)用于在数值数据上进行算术操作(如返回绝对值,进行代数运算)的数值函数。
(3)用于处理日期和时间值并从这些值中提取特定成分(例如,返回两个日期之差,检查日期有效性等)的日期和时间函数。
(4)返回DBMS正使用的特殊信息(如返回用户登录信息,检查版本细节)的系统函数。
文本处理函数
SELECT vend_name,Upper(vend_name) AS vend_upcase FROM vendors ORDER BY vend_name;
本例子中vend_name出现了两次是为了存储值,第二次是作为列(vend_name_upcase)转换为大写。
这里 vend_name 在原始列中本身是小写的,现在由于我们使用了文本函数的原因,他将变成大写。
这里列出常用的文本处理函数:
函数 说明
Left() 返回串左边的字符
Length() 返回串的长度
Locate() 找出串的一个字串
Lower() 将串转换为小写
LTrim() 去掉串左边的空格
Right() 去掉串右边的字符
RTrim() 去掉串右边的空格
Soundex() 返回串的SOUNDEX值(自行百度)###是一个将任何文本串转化为描述其语音表示的字母数字模式的算法(超强大!!!Soundex()能够匹配所有发音类似的字符)
SubString() 返回字串的字符
Upper() 将串转换为大写
这里SOUNDEX需要做进一步解释:SOUNDEX是将任何文本串转换为描述其语音表示的模式算法,SOUNDEX考虑了类似的发音字符和音节。
举个例子吧:
有个顾客的联系名为Y.Lee,但这是输入错误,此时应该联系Y.Lie才对,那我们该怎么办呢?
SELECT cust_name, cust_contact FROM customers WHERE Soundex(cust_contact) = Soundex('Y.Lie');
这样就能检索出Y.Lee出来了。
日期和时间处理函数
应用程序不适用用来存储日期和时间的格式,因此日期和时间函数总是被用来读取、统计和处理这些值。由于这个原因,日期和时间处理函数格外重要!
我们一定要注意MySQL的日期格式,无论什么时候制定一个日期,必须完成格式yyyy-mm-dd 比如 2005-09-04
SELECT cust_id, order_num FROM orders WHERE Date(order_date) = '2005-09-01';
函数 说明
AddDate() 增加一个日期(天、周等)
AddTime() 增加一个时间(时、分等)
CurDate() 返回当前日期
CurTime() 返回当前时间
Date() 返回日期时间的日期部分
DateDiff() 计算两个日期之差
Date_Add() 高度灵活的日期运算函数
Date_Format() 返回一个格式化的日期或时间串
Day() 返回一个日日期的天数部分
DayOfWeek() 对于一个日期,返回对应的星期几
Hour() 返回一个时间的小时部分
Minute() 返回一个时间的分钟部分
Month() 返回一个日期的月部分
Now() 返回点当前的日期和时间
Second() 返回一个时间的秒部分
Time 返回一个日期时间的时间部分
Year() 返回一个日期的年部分
数值处理函数
Abs() 返回一个数的绝对值;
Cos() 返回一个角度的余弦
Sin() 返回一个角度的正弦
Tan() 返回一个角度的正切
Exp() 返回一个数的指数值
Mod() 返回除操作的余数
Pi() 返回圆周率
Rand() 返回一个随机数
Sqrt() 返回一个数的平方根
网友评论