MySQL常用函数

127 阅读2分钟

一、字符串函数

1.concat(s1,s2,...,sn)把s1,s2,...,sn连接成一个字符串,
注意:任何字符串与null连接的结果都是null
2.insert(str,x,y,instr)把str从第x位置开始以后的y个字符替换成instr
3.lower(str),upper(str)
4.left(str,x),right(str,x): 分别返回最左边的x个元素和最右边的x个元素,如果第二个参数为null,不返回任何字符串
5.lpad(str,n,pad),rpad(str,n,pad): 用字符串pad对str最左边和最右边进行填充,直到长度为n个字符长度
6.ltrim(str),rtrim(str): 去掉字符串str左侧右侧的空格
7.repeat(str,x):返回str重复x次的结果
8.replace(str,a,b):用字符b替换str中出现的所有字符串a
9.strcmp(s1,s2): 比较字符串s1和s2的ASCII码值的大小
10.trim(str)去掉目标字符串开头和结尾的空格
11.substring(str,x,y): 返回字符串str中的第x位置起y个字符串长度的字符。

二、数值函数

1.ABS()---------------返回x的绝对值
2.CEIL(X)-------------返回大于x的最小整数
3.FLOOR(X)------------返回小于x的最大整数
4.MOD(X,Y)------------返回x/y的模
5.RAND()--------------返回01内的随机值(0100内的随机数:100*rand())
6.ROUND(X,Y)----------返回参数x的四舍五入的有y位小数的值
7.TRUNCATE(x,y)-------返回数字x截断为y位小数的结果

三、日期时间函数

1.UNIX_TIMESTAMP(date)------------------返回日期date的UNIX时间戳
2.FROM_UNIXTIME(date)-------------------返回UNIX时间戳的日期值
3.DATE_FORMAT(date,fmt)-----------------返回按字符串fmt格式化日期date值
4.DATE_ADD(date,INTERVAL expr type)-----返回一个日期或时间值加上一个时间间隔的时间值
5.DATEDIFF(expr,expr2)------------------返回起始时间expr和结束时间expr2之间的天数

四、流程函数

1.IF(value,t f) -------------------如果value是真则返回t,否则返回f
select if(salary>2000,'high','low') from salary;
2.IFNULL(value1,value2) ----------如果value1不为空返回value1,否则返回value2
select ifnull(salsry,0) from salary;
3.CASE WHEN[value1] THEN[result1] ELSE[default] END
select case when salary<=2000 then 'low' else 'high' end from salary;
4.CASE[expr] WHEN[value1] THEN[result1] ELSE[default] END
select case salary when 1000 then 'low' when 2000 then 'mid' else 'high' end;

五、其他常用函数

1.DATABASE() 返回当前数据库名
2.VERSION() 返回当前数据库版本
3.USER() 返回当前登录用户名
4.INET_ATON(IP) 返回IP地址的数字表示
5.INET_NTOA(num) 返回数字代表的IP地址
6.PASSWORD(str) 返回字符串str的加密版本
7.MD5() 返回str的MD5值\