四种函数处理
- 文本函数
- 数值函数
- 时间函数
- 系统函数
文本函数
之前我们有用过rTrim()去掉右边多余的空格,这就是文本函数。其他的还有转换大小写Upper(),Lower()等
SELECT vend_name, Upper(vend_name) AS vend_name_upcase
FROM vendors;
还有一个有意思的函数 Soundex().拟声匹配。比如现在我们的customers表中有个顾客联系人叫Y Lee。我知道怎叫他,但不知道他的名字中的Lee是Lie还是Lee。这时就可以用拟声匹配来搜索。
SELECT cust_name, cust_contact
FROM customers
WHERE Soundex(cust_contact) = Soundex('Y.Lie');
函数 | 说明 |
---|---|
Trim() | 去掉串的左右两边多余的空格 |
LTrim() | 去掉串左边的空格 |
RTrim() | 去掉串右边的空格 |
Upper() | 大写 |
Lower() | 小写 |
Soundex() | 拟声匹配 |
Length() | 返回串的长度 |
SubString() | 返回子串 |
Left() | 返回串左边的字符 |
Right() | 返回串右边的字符 |
Locate() | 找出子串 |
时间函数
函数 | 说明 |
---|---|
CurDate() | 返回当前日期 |
CurTime() | 返回当前时间 |
Year() | 返回年部分 |
Month() | 返回月部分 |
Day() | 返回日部分 |
Hour() | 返回小时部分 |
Minute() | 返回分部分 |
Second() | 返回秒部分 |
Time() | 返回时间部分 |
DayOfWeek() | 返回指定时期的星期数 |
DateDiff() | 返回两个日期相差的天数 |
Now() | 返回当前时间 |
今天是2017年2月14日,星期二
SELECT curdate(); #返回当前日期
SELECT day(curdate()); #返回当前日期的日数(号)
实例:我们先来看下orders表的情况
SELECT * FROM orders;
我们现在想要看下orders表中2005年9月下的所有订单,该怎么写呢?
SELECT cust_id, order_num
FROM orders
WHERE DATE(order_date) BETWEEN '2005-09-01' AND '2005-09-30';
或者
SELECT cust_id, order_num
FROM orders
WHERE Year(order_date) = '2005' AND Month(order_date) = '9';
数值函数
函数 | 说明 |
---|---|
abs() | 返回绝对值 |
cos() | 返回余弦 |
exp() | 返回指数 |
mod() | 返回余数 |
pi() | 返回圆周率 |
rand() | 返回一个随机数 |
sin() | 返回正弦 |
sqrt() | 返回平方根 |
tan() | 返回正切 |
可以做些简单的测试随便玩玩。