第8课 使用数据处理函数
1.SQL也可以用函数来处理数据,函数一般是在数据上执行的,为数据的转换和处理提供了方便。但是每一个数据库管理系统(Database Management System DBMS)都有特定的函数,事实上,只有少数几个函数被所有的DBMS等同地支持。例如,
MYSQL中用SUBSTRING()函数提取字符串的组成部分,Access用MID()
MYSQL中用CONVERT()函数进行数据类型转换,DB2使用CAST()
MYSQL使用CURDATE()函数获取当前日期,SQLite使用DATE()
结论:SQL语句不是可移植的
2.SQL使用函数
(1)文本处理函数:上一篇笔记中介绍了一个RTRIM()函数来去除列值右边的空格;
SELECT prod_name
FROM Products;
SELECT UPPER(prod_name)
FROM Products;
从上面的结果可以知道,函数UPPER()将文本转换为大写
其他文本处理函数举例:
UPPER | 将字符串转换为大写 |
LEFT | 返回字符串左边的字符 |
LENGTH | 返回字符串长度 |
LOWER | 将字符串转换为小写 |
LTRIM | 去掉字符串左边的空格 |
RTRIM | 去掉字符串右边的空格 |
RIGHT | 返回字符串右边的字符 |
SOUNDEX | 返回字符串的SOUNDEX值 |
注意:LEFT,RIGHT函数需要加上参数数字,表示左边几个,右边几个。例如LEFT(‘haha’,3)表示返回字符串左边三个字符‘hah’
SOUNDEX是一个将任何文本转换为描述其语音表示的字母数字模式的算法。
(2)日期和时间处理函数:(注意自己的DBMS,此处演示以MYSQL为例)
检索2012年的订单:
SELECT order_num
FROM Orders
WHERE year(order_date)=2012;
(3)数值处理函数:
函数 | 说明 |
ABS() | 绝对值 |
COS() | 余弦 |
EXP() | 指数 |
PI() | 圆周率 |
SIN() | 正弦 |
SQRT() | 平方根 |
TAN() | 正切 |