日期:2014-05-16  浏览次数:20645 次

MySQL函数——MySQL系列(六)

1、函数

函数的可移植性不是很强,不同的DBMS有不同的函数

2、文本处理函数

函数 说明
Left() 返回串左边的字符
Length() 返回串的长度
Locate() 找出串的一个子串
Lower() 将串转换为小写
LTrim() 去掉串左边的空格
Right() 去掉串右边的空格
RTrim() 去掉右边的空格
Soundex() 返回串的SOUNDEX值
SubString() 返回子串的字符
Upper() 将串转换为大写
 关于Soundex()说明

考虑类似发音和类似字节,使串进行发音比较而不是字母比较

SELECT * FROM `user`
Where SOUNDEX(`name`)= SOUNDEX('Lee');
返回值

Lie

Lee

3、日期处理函数

(1)说明

函数 说明
AddDate() 增加一个日期(天、周等)
AddTime() 增加一个时间(时、分等)
CurDate() 返回当前日期
CurTime() 返回当前时间
Date() 返回日期时间的日期部分
Datediff(expr1,expr2) 计算两个日期之差
Date_Add() 高度灵活的日期运算函数
Date_Format() 返回一个格式化的日期或时间串
Day() 返回一个日期的天数部分
DayofWeek() 对于一个日期返回对应的星期几
Hour() 返回一个日期的小时部分
Minute() 返回一个日期的分钟部分
Month() 返回一个日期的月份部分
Now() 返回当前日期和时间
Second() 返回一个日期的秒部分
Time() 返回一个日期时间的时间部分
Year() 返回一个日期的年份部分

(2)查某一天的数据

Select order_id FROM orders
Where Date(order_date)='2014-04-01'

或者

SELECT order_id FROM orders
Where order_date BETWEEN'2014-01-01 00:00:000' AND '2014-01-01 23:59:59.000'

返回2014-04-01日的订单,注意错误的写法如下,错误原因是一般数据库中的日期都有时分秒,不可能完全等于一个日期

SELECT order_id FROM orders
Where order_date='2014-04-01'

(3)查某个月数据

SELECT order_id FROM orders
Where Date(order_date) BETWEEN
'2014-01-01' AND '2014-01-31'

或者

SELECT order_id FROM orders
Where Year(order_date)='2014'
AND Month(order_date)='01'

4、数值处理函数

函数 说明
Abs() 返回一个数的绝对值
Cos() 返回一个角度的余弦
Exp() 返回一个数的指数值
Mod() 返回除操作的余数
Pi() 返回圆周率
Rand() 返回一个随机数
Sin() 返回一个角度的正弦
Sqrt() 返回一个数的平方根
Tan() 返回一个角度的正切