MySQL常用函数

 经常编写程序的朋友一定体会得到函数的重要性,丰富的函数往往能使用户的工作事半功倍,函数能帮助用户做很多事情。MySQL也提供了很多内建函数帮助开发人员编写简单快捷的SQL语句、

  一:字符串函数

  字符串函数是最常用的一种函数,在MySQL中,字符串函数同样是最丰富的一类函数,如下图列举了MySQL常用的字符串函数

  

  

  下面通过几个实例介绍每个函数的用法:

  

上面的例子把'aaa','bbb','ccc'3个字符串连接成了一个字符串'aaabbbccc',另外,任何字符串与null进行连接的结果都将是null。

  INSERT(str,x,y,instr)函数:将字符串str从第x位置开始,y个字符长的子串替换为字符串instr;

  LOWER(str)和UPPER(str)函数,将字符串转换成小写或大写。

  LEFT(str,x)和RIGHT(str,x)函数:分别返回字符串最左边的x个字符和最右边的x个字符,如果第二个参数是NULL,那么将不返回任何字符串。

  

 LPAD(str,n,pad)和RPAD(str,n,pad)函数:用字符串pad对str最左边和最右边进行填充,直到长度为n个字符长度.

 

  LTRIM(str)和RTRIM(str)函数:去掉字符串str左侧和右侧空格。

  REPEAT(str,x)函数:返回str重复x次的结果。

  REPLACE(str,a,b)函数:用字符串b替换字符串str中所有出现的字符串a.

  STRCMP(s1,s2)函数:比较字符串s1和s2的ASCII码值的大小。

如果s1比s2小,那么返回-1,如果s1与s2相等,那么返回0;如果s1比s2大,那么返回1,

  TRIM(str)函数:去掉目标字符串的开头和结尾的空格

  SUBSTRING(str,x,y)函数:返回从字符串str中的第x位置起y个字符长度的字符串.

二:数值函数

  MySQL中另外一类很重要的函数就是数值函数,这些函数能处理很多数值方面的运算,

下面结合实例说明这些函数的用处:

ABS(x)函数:返回x的绝对值

CEIL(x)函数:返回大于x的最小整数:

FLOOR(x)函数:返回小于x的最大整数,和ceil的用法刚好相反

MOD(x,y)函数:返回x/y的模

 和x%y的结果相同,模数和被模数任何一个为null结果都为null,

RAND()函数:返回0~1内的随机值,每次执行结果都不一样.利用此函数可以取任意指定范围内的随机数,比如需要产生0~100内的任意随机整数

ROUND(x,y)函数:返回参数x的四舍五入的有y为小数的值

  如果是整数,将会保留y位数量的0;如果不写y,则默认y为0,即将x四舍五入后取整,适合于将所有数字保留同样小数位的情况

TRUNCATE(x,y)函数:返回数字x截断为y位小数的结果:

  注意:truncate和round的区别在于truncate仅仅是截断,而不进行四舍五入。

三:日期和时间函数

  有时我们会遇到这样的需求:当前时间是多少,下个月的今天是星期几,统计截止到当前日期前3天的收入总和,等等,这些需求就需要日期和时间函数来实现

  下面结合一些实例看看这些函数的使用方法吧

CURDATE()函数:返回当前日期,只包含年月日

CURTIME()函数:返回当前时间,只包含时分秒

NOW()函数:返回当前的日期和时间,年月日时分秒全都包含

UNIX_TIMESTAMP(date)函数:返回日期date的UNIX时间戳.

FROM_UNIXTIME(unixtime)函数:返回UNIXTIME时间戳的日期值,和UNIX_TIMESTAMP(date)互为逆操作.

WEEK(date)、YEAR(date)、HOUR(time)、MINUTE(time)、MONTHNAME(date)用法:

 

DATEDIFF(date1,date2)函数:用来计算两个日期之间相差的天数

四:流程函数

   流程函数也是很常用的一类函数,用户可以使用这类函数在一个SQL语句中实现条件选择,这样做能够提高语句的效率。

下面的实例看看它们的用法吧

 

此外还有一些常用的函数

这里就不再介绍其具体用法了。

  

原文地址:https://www.cnblogs.com/cxq0017/p/6479267.html