数据处理函数
有时从
数据库表中获取到的数据需要进行一些处理。如将小写字母替换为相应的大写字母。这个处理过程可以在客户机上进行,也可以在数据库上进行。数据库上进行会更高效。数据库中有相应的数据处理函数来处理这些数据,但是在SQL中使用特殊的数据处理函数会降低其可移植性。不同的DBMS系统,其数据处理函数不同。
大多数的SQL支持以下类型的函数 用于处理文本串的函数,如删除、填充值、转换大小写;用于在数值数据上进行算术操作的函数;用于处理日期和时间值并从这些值中提取特殊成分,如两个日期只差的函数;返回DBMS正在使用的特殊信息的系统函数,如返回用户登录,检查版本;
文本处理函数
例子:将某一列字符转换为大写字符

常用文本处理函数
| 函数 |
说明 |
| Left() |
返回串左边的字符 |
| Length() |
返回串的长度 |
| Locate() |
找出串的一个子串 |
| Lower() |
将串转换为小写 |
| LTrim() |
去掉串左边的空格 |
| Right() |
返回串右边的字符 |
| RTrim() |
去掉串右边的空格 |
| Soundex() |
返回串的SOUNDEX值 |
| SubString() |
返回子串的字符 |
| Upper() |
将串转换为大写 |
Soundex()函数,找出发音类似的串,如由于拼写错误,在表中记录了发音相似的名字,这时如果使用LIKE或者其他的匹配搜索并不高效。使用SoundEX()会方便很多。
如下例子,真是名字为 Y.Lee,但是表中存放的名字为Y.Lie,如果使用匹配搜索会发现搜索不到,这时可以使用SoundEX()函数:

日期和时间处理函数
常用日期和时间处理函数
vcmRlcj0="1" width="800" cellspacing="1" cellpadding="1">
| 函数 |
说明 |
| AddDate() |
增加一个日期(天、周) |
| AddTime() |
增加一个时间(时,分) |
| CurDate() |
返回当前日期 |
| CurTime() |
返回当前时间 |
| Date() |
返回日期时间的日期部分 |
| DateDiff() |
计算两个日期之差 |
| Date_Add() |
高度灵活的日期计算函数 |
| Date_Format |
返回一个格式化的日期或字符串 |
| Day() |
返回一个日期的天数部分 |
| DayOfWeek() |
对于一个日期返回对应的星期几 |
| Hour() |
返回一个时间的小时部分 |
| Minute() |
返回一个时间的分钟部分 |
| Month() |
返回一个时间的月份部分 |
| Now() |
返回当前日期 |
| Second() |
返回一个时间的秒部分 |
| Time() |
返回一个日期时间的时间部分 |
| Year() |
返回一个日期的年份部分 |
简单的时间对比:

但是如果order_date后面跟的有时间,那么上面的SQL语句将匹配不出来,因此我们可以使用日期函数,仅比较表中的日期,而忽略时间:

搜索出一个月的订单;

但是有时不想去算这个月到底有多少天,则可以实现如下:

数值处理函数
数值处理函数仅处理数值数据,这些函数一般用于代数、三角或者几何运算。 常用数值处理函数如下
| 函数 |
说明 |
| Abs() |
返回一个数的绝对值 |
| Cos() |
返回一个角度的余弦 |
| Exp() |
返回一个数的指数值 |
| Mod() |
返回除操作的余数 |
| Pi() |
返回圆周率 |
| Rand() |
返回一个随机数 |
| Sin() |
返回一个角度的正弦 |
| Sqrt() |
返回一个数的平方根 |
| Tan() |
返回一个数的正切 |
下面是一个正切的例子: