函数
需要明确的一点是,SQL函数是不可移植的
大多数SQL支持一下类型的函数,
- 用于处理文本字符串
- 用于在数值上进行计算操作
- 用于处理日期和时间
- 返回DBMS正在使用的特殊信息,比如用户登录信息
常用的文本处理函数
函数 | 说明 |
---|---|
LENGTH() | 返回字符串的长度 |
LOWER() | 将字符串转换为小写 |
UPPER() | 将字符串转换为大写 |
RIGHT() | 返回字符串右边的字符 |
SOUNDEX() | 返回字符串的SOUNDEX值 |
需要说明的是SOUNDEX()
能对字符串进行发言比较而不是字母比较
比如说,我需要检索联系名为Michael Green的顾客名字,但是我不确定联系名的正确拼写方法,
select cust_name,cust_contact from Customers where cust_contact = 'Michael Green';
这是检索不到数据,
现在我们用SOUNDEX()
试试,
select cust_name,cust_contact from Customers where SOUNDEX(cust_contact) = SOUNDEX('Michael Green');
这是才发现,原来正确的拼写是Michelle Green
时间和日期处理函数在每种DBMS中都不太一致,下面以MySQL为例:
- 问题:检索2012年的所有订单数量
- 解:
select order_num from Orders where YEAR(order_date) = '2012';
常用的数值处理函数
函数 | 说明 |
---|---|
ABS() | 返回一个数的绝对值 |
PI() | 返回圆周率 |
COS() | 返回一个数的余弦值 |
TAN() | 返回一个数的正切 |
SQRT() | 返回一个数的平方根 |
汇总函数
函数 | 说明 |
---|---|
AVG() | 返回某列的平均值 |
COUNT() | 返回某列的行数 |
MAX() | 返回某列的最大值 |
MIN() | 返回某列的最小值 |
SUM() | 返回某列值之和 |