第十一章-使用数据处理函数
11.1函数
与其他大多数计算机语言一样,SQL支持利用函数来处理数据。函数一般是在数据上执行的,他给数据的转换和处理提供了方便,在前一章中用来去掉尾空格的RTrim()就是一个函数的例子
几乎每种DBMS的都有支持的不同函数,每种差异会很大,因此函数没有SQL的可移植性强。
11.2使用函数
11.2.1文本处理函数
输入: SELECT vend_name,Upper(vend_name) AS vend_name_upcase FROM vendors ORDER BY vend_name;
分析: 将列 vend_name_upcase转换为大写
常用的文本处理函数
函数 | 说明 |
---|---|
Left() | 返回串左边的字符 |
Length() | 返回串的长度 |
Locate() | 找出串的一个子串 |
Lower() | 将串转为小写 |
LTrim() | 去掉串左边的空格 |
Right() | 返回串右边的字符 |
RTrim() | 去掉串右边的空格 |
Soundex() | 返回串的SOUNDEX的值 |
SubString() | 返回子串的字符 |
Upper() | 将串转换为大写 |
11.2.2日期和时间处理函数
日期和时间采用相应的数据类型和特殊的格式存储,以此节省物理存储空间。而应用程序不使用用来存储日期和时间的格式,因此日期和时 间函数总是被用来读取、统计和处理这些值。
常用日期和时间处理函数
函数 | 说明 |
---|---|
AddDate() | 增加一个日期(天、周等) |
AddTime() | 增加一个时间(时、分等) |
CurDate() | 返回当前日期 |
CurTime() | 返回当前时间 |
Date() | 返回日期时间的日期部分 |
DateDiff() | 计算两个日期之差 |
Date_Add() | 高度灵活的日期运算函数 |
Date_Format() | 返回一个格式化的日期或时间串 |
Day() | 返回一个日期的天数部分 |
DayOfWeek() | 对于一个日期、返回对应的星期几 |
Hour() | 返回一个时间的小时部分 |
Minute() | 返回一个时间的分钟部分 |
Month() | 返回一个日期的月份部分 |
Now() | 返回当前日期和时间 |
Second() | 返回一个时间的秒部分 |
Time() | 返回一个日期时间的时间部分 |
Year() | 返回一个日期的年份部分 |
例子:
检索出2005年9月下的所有订单
SELECT cust_ id, order_ num FROM orders WHERE Year(order_date) = 2005 AND Month(order_ date) = 9;
11.2.3数值处理函数
11.3小结
本章介绍了如何使用SQL的数据处理函数,并着重介绍了日期处理函 数。