(004)mysql中的常用函数

概述

mysql提供了很多内建函数,其中常用的函数有:

  • 字符串函数
  • 日期函数
  • 数值函数

我一般建议,能在后台语言(php,java,c#等)中使用的类似函数,就在后台语言中使用,这样减少mysql压力,和保证逻辑性。

字符串函数

函数 功能
合并字符串
concat(s1,s2,...,sn) 链接s1,s2,...,s3为一个字符串
concat_ws(sp,s1,s2,...,s3) 将s1,s2…,sn连接成字符串,并用sep字符间隔
repeat(str,x) 将字符串str重复x次,是concat函数子集
lpad(str,n,pad) 用字符串pad对str最左边进行填充,直到长度为n个字符长度
rpad(str,n,pad) 用字符串pad对str最右边进行填充,直到长度为n个字符长度
过滤字符串
trim(str) 去掉字符串str行尾和行头的空格
ltrim(str) 去掉字符串str行头的空格
rtrim(str) 去掉字符串str行尾的空格
lower(str) 将字符串str中所有的字符都变为小写的
upper(str) 将字符串str中所有的字符都变为大写的
截取字符串
left(str,x) 返回字符串str最左边的x个字符
right(str,x) 返回字符串str最右边的x个字符
substr(str,x,y) 截取字符串str从x位置起y个字符长度的子字符串
position(substr,str) 返回子串substr在字符串str中第一次出现的位置
替换字符串
replace(str,a,b) 用字符串b替换字符串str中所有出现的字符串a
insert(str,x,y,instr) 将字符串str从第x位置开始,y个字符串长的子串替换为字符串instr
字符串长度
length(str) 获取字符串str存储时候的字节数
char_length(str) 获取字符串str中的字符个数
bit_length(str) 获取字符串str存储时候的bit位数
杂项
strcmp(s1,s2) 比较字符串s1和字符串s2
quote(str) 用反斜杠转义str中的单引号
reverse(str) 反转字符串str
ascii(char) 获取字符ASCII码
#举例,length,char_length,bit_length
select catename,length(catename),
       char_length(catename),bit_length(catename)
from yz_category;
(004)mysql中的常用函数_第1张图片
sql函数

数值函数

函数 功能
abs(x) 返回x的绝对值
ceil(x) 返回大于x的最小整数值
floor(x) 返回小于x的最大整数值
mod(x,y) 返回x/y的模
rand() 返回0~1内的随机值
round(x,y) 返回参数x的四舍五入的y位小数值
truncate(x,y) 返回数字x截断为y位小数的结果

日期和时间函数

函数 功能
curdate() 返回当前日期
curtime() 返回当前时间
now() 返回当前的日期和时间
unix_timestamp(date) 返回日期date的unix时间戳
from_unixtime 返回unix时间戳的日期值
week(date) 返回date为一年中的第几周
year(date) 返回date的年份
hour(time) 返回time的小时值
minute(time) 返回time的分钟值
monthname(date) 返回date的月份名
date_format(date,fmt) 返回字符串fmt格式化日期date值
date_add(date,interval expr type) 返回一个日期或时间值加上一个时间间隔的时间值
datediff(expr,expr2) 返回起始时间expr和结束时间expr2之间的天数

详细信息与举例参见:《深入浅出MySQL数据库开发、优化与管理维护》(第2版)P79-第5章常用函数。

你可能感兴趣的:((004)mysql中的常用函数)