注意:函数没有SQL的可移植性强。相对来说,多数SQL语句是可移植的,在SQL实现之间有差异时,这些差异通常不那么难处理。而函数的可移植性却不强。几乎每种主要的DBMS的实现都支持其他实现不支持的函数,而且有时差异还很大。
文本处理函数
left 返回串左边的字符
right 返回串右边的字符
length 返回串的长度
locate 找出串的一个子串
lower 将串转换为小写
upper 将串转换为大写
ltrim 去掉串左边的空格
rtrim 去掉串右边的空格
trim 去掉串两边的空格
soundex 返回串的soundex值
substring 返回子串的字符
soundex是一个将任何文本串转换为描述其语音表示的字母数字模式的算法。soundex考虑了类似的发音字符和音节,使得能对串进行发音比较而不是字母比较。
举例:select cust_name, cust_contact from customers where soundex(cust_contact) = soundex('Y Lie');
日期处理函数
adddate() 增加一个日期(天、周等)
addtime() 增加一个日期(天、周等)
curdate() 返回当前日期
curtime() 返回当前时间
date() 返回日期时间的日期部分
datediff() 计算两个日期之差
date_add() 高度灵活的日期运算函数
date_format() 返回一个格式化的日期或时间串
day() 返回一个日期的天数部分
dayofweek() 对于一个日期,返回对应的星期几
hour() 返回一个时间的小时部分
minute() 返回一个时间的分钟部分
month() 返回一个时间的日期部分
now() 返回当前日期和时间
second() 返回一个时间的秒部分
time() 返回一个日期时间的时间部分
year() 返回一个日期的年份部分
首先要注意的是mysql使用的日期格式。无论什么时候,日期必须为格式yyyy-mm-dd
。虽然其他的日期格式可能也行,但这是首选的日期格式,因为它排除了多义性。
举例:select cust_id, order_num from orders where year(order_date) = 2005 and month(order_date) = 9;
说明:检索出2005年9月下的所有订单
数值处理函数
abs() 返回一个数的绝对值
cos() 返回一个角度的余弦
exp() 返回一个数的指数值
mod() 返回除操作的余数
pi() 返回圆周率
rand() 返回一个随机数
sin() 返回一个角度的正弦
sqrt() 返回一个数的平方根
tan() 返回一个角度的正切
- MySQL必知必会