第八课 使用函数处理数据
第八课 使用函数处理数据
- 函数
每一个DBMS都有特定的函数
| 函数 | 语法 |
| 提取字符串的组成部分 | Access使用MID();MySQL和SQL Server使用SUBSTRING() |
| 数据类型转换 | Access和NOW()使用多个函数,每个类型的转换都有一个函数,MariaDB、MySQL和SQL Server使用CONVERT() |
| 取当前日期 | Access使用NOW(),SQL Server使用GETDATE(),SQLite使用DATE() |
特定SQL实现编写的代码在其他实现中可能不正常
- 使用函数
用于处理文本字符串
用于在数值数据上进行算术操作
用于处理日期和时间值并从这些值中提取特定成分
返回DBMS正使用的特殊信息
Ucase将文本转换成大写
SELECT vend_name,Ucase(vend_name) AS vend_name_upcase
FROM Vendors
ORDER BY vend_name;
| 函数 | 说明 |
| LEFT()(或使用子字符串函数) | 返回字符串左边的字符 |
| LENGTH()(也是用DATALENGTH()或LEN()) | 返回字符串的长度 |
| LOWER()(Access使用LCASE()) | 将字符串转换为小写 |
| LTRIM() | 去掉字符串左边的空格 |
| RTRIM()(或使用子字符串函数) | 返回字符串右边的字符 |
| SOUNDEX() | 去掉字符串右边的空格 |
| UPPER()(AccessS使用UCASE()) | 将字符串转换为大写 |
SOUNDEX是一个将任何文本串转换为描述其语音表示的字母数字模式的算法(Microsof Access和PostgresSQL不支持SOUNDEX())
eg:
SELECT cust_name, cust_contact
FROM Customers
WHERE SOUNDEX(cust_contact) = SOUNDEX('Michael Green');
日期和时间处理函数
日期和时间采用相应的数据类型存储在表中,以特殊的格式存储。
应用程序一般不使用日期和时间的存储格式,因此日期和时间函数总是用来读取、统计和处理这些值,虽然日期和时间函数在SQL中具有重要作用,但是它们的可移植性最差
eg:
SELECT order_num
FROM Orders
WHERE DATEPART("yyyy",order_date)=2012;
DATEPART()函数有两个参数,它们分别是返回的成分和从中返回成分的日期
数值处理函数
数值处理函数仅处理数值数据,这些函数一般主要用于代数、三角或几何运算、数值函数时最一致、最统一的函数
| 函数 | 说明 |
| ABS() | 返回一个数的绝对值 |
| COS() | 返回一个角度的 余弦 |
| EXP | 返回一个值的指数值 |
| PI() | 返回圆周率 |
| SIN() | 返回一个角度的正弦 |
| SQRT() | 返回一个数的平方根 |
| TAN() | 返回一个角度的正切 |

浙公网安备 33010602011771号