1.SQL也可以用函数来处理数据,函数一般是在数据上执行的,为数据的转换和处理提供了方便。但是每一个数据库管理系统(DBMS)都有特定的函数,事实上,只有少数几个函数被所有的DBMS等同地支持。例如,
MYSQL中用SUBSTRING()函数提取字符串的组成部分,Access用MID()
MYSQL中用CONVERT()函数进行数据类型转换,DB2使用CAST()
MYSQL使用CURDATE()函数获取当前日期,SQLite使用DATE()
结论:SQL语句不是可移植的
2.SQL使用函数
- 文本处理函数:上一篇笔记中介绍了一个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是一个将任何文本转换为描述其语音表示的字母数字模式的算法。 - 日期和时间处理函数:(注意自己的DBMS,此处演示以MYSQL为例)
SELECT order_num FROM Orders WHERE year(order_date)=2012;
- 数值处理函数:
函数 说明 ABS() 绝对值 COS() 余弦 EXP() 指数 PI() 圆周率 SIN() 正弦 SQRT() 平方根 TAN() 正切