MySQL-函数处理

来源:互联网 发布:知乎日本反战同盟 编辑:程序博客网 时间:2024/06/11 23:05

四种函数处理

  1. 文本函数
  2. 数值函数
  3. 时间函数
  4. 系统函数

文本函数

之前我们有用过rTrim()去掉右边多余的空格,这就是文本函数。其他的还有转换大小写Upper(),Lower()等

SELECT vend_name, Upper(vend_name) AS vend_name_upcaseFROM vendors;

这里写图片描述

还有一个有意思的函数 Soundex().拟声匹配。比如现在我们的customers表中有个顾客联系人叫Y Lee。我知道怎叫他,但不知道他的名字中的Lee是Lie还是Lee。这时就可以用拟声匹配来搜索。

SELECT cust_name, cust_contactFROM customersWHERE 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_numFROM ordersWHERE DATE(order_date) BETWEEN '2005-09-01' AND '2005-09-30';

这里写图片描述

或者

SELECT cust_id, order_numFROM ordersWHERE Year(order_date) = '2005' AND Month(order_date) = '9';

这里写图片描述

数值函数

函数 说明 abs() 返回绝对值 cos() 返回余弦 exp() 返回指数 mod() 返回余数 pi() 返回圆周率 rand() 返回一个随机数 sin() 返回正弦 sqrt() 返回平方根 tan() 返回正切

这里写图片描述

可以做些简单的测试随便玩玩。

0 0