MySQL函数——MySQL系列(六)

MySQL函数——MySQL系列(六)

1、函数

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

2、文本处理函数

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

关于Soundex()说明

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

?

1

2

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)查某一天的数据

?

1

2

Select order_id FROM orders

Where Date(order_date)='2014-04-01'

或者

?

1

2

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日的订单,注意错误的写法如下,错误原因是一般数据库中的日期都有时分秒,不可能完全等于一个日期

?

1

2

SELECT order_id FROM orders

Where order_date='2014-04-01'

(3)查某个月数据

?

1

2

3

SELECT order_id FROM orders

Where Date(order_date) BETWEEN

'2014-01-01' AND '2014-01-31'

或者

?

1

2

3

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()返回一个角度的正切