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