MySQL操作(第五章)-常用函数

MySQL函数可以分为数学函数、字符串函数、日期和时间函数、流程控制函数、其他函数。

数学函数

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

  SQRT(x):返回非负数x的平方根

  PI():返回圆周率

  MOD(x,y)%:返回x被y除的余数

  CEIL(x)、CEILING(x):向上取整

  FLOOR(x):向下取整

  ROUND(x,y):对x四舍五入,保留小数点后y位,若y为负数,保留到小数点左边y位 不设置y时保留整数

  TRUNCATE(x,y):对x进行截断,保留小数点后y位

  RAND():每次产生不同的随机数(0-1)  若括号内写数字,叫做随机种子,再次调用同一个随机种子时返回的随机数相同

  SIGN(x):负数返回-1,0返回0,正数返回1

  POW(x,y)、POWER(x,y):返回x的y次方

  EXP(x):返回以e为底的x次方

  LOG(x):返回以e为底x的对数

  LOG10(x):以10为底x的对数

  RADIANS(x):角度转弧度

  DEGREES(x):弧度转角度

  SIN(x):x的正弦  ASIN(x):正弦值为x的值   x为弧度值  反正切中,若x不在-1到1间,返回NULL

  COS(x):x的余弦  ACOS(x):余弦值为x的值

  TAN(x):x的正切  ATAN(x):正切值为x的值

 

字符串函数;

  CHAR_LENGTH(str):返回字符串所包含字符的个数  一个汉字为一个字符

  LENGTH(str):返回字符串的长度  utf8下,一个汉字占三个长度

  CONCAT(s1,s2,...):字符串连接

  CONCAT_WS(x,s1,s2,...):用x将s1、s2等连接起来

  INSERT(s1,x,len,x2):在s1中将起始位置为x长度为len的子串用s2代替

  LOWER(str):全部小写    UPPER(str):全部大写

  LEFT(s,n):返回最左边n长度的字符  RIGHT(s,n):返回最右边n长度的字符

  LPAD(s1,len,s2)、RPAD(s1,len,s2):用s2将s1填充到len长,首字母L、R分别代表左边和右边填充

  TRIM(s1 from s):删除s1两端所有的字符串s

  LTRIM(s):删除左侧空格   RTRIM(s):删除右侧空格

  REPTAT(s,n):使用s组成n长的字符串

  SPACE(n):使用空格组成n长字符串

  REPLACE(s,s1,s2):将s字符串中s1字符替换成s2

  STRCMP(s1,s2):比较s1和s2字符串大小  全部相同一模一样返回0,s1小于s2返回-1,s1

大于s2返回1

  SUBSTRING(s,n,len):从字符串s中返回从n位置起len长的子字符串  MID(s,n,len)作用相同

  LOCATE(str1,str)、POSITION(str1 IN str)INSTR(str,str1):返回子字符串str1在字符串str中的开始位置

  REBERSE(s):反转字符串

  ELT(N,字符串1,字符串2,字符串3,...,字符串N):若N=1,返回字符串1,N=2,返回字符串2以此类推  若N小于1或大于参数数目,返回NULL

 

时间和日期函数:

  CURDATE()和CURRNT_DATE():获取当前日期

  NOW():返回服务器当前日期和时间

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

  UTC_DATE():返回世界标准时间日期

  UTC_TIME():返回世界标准时间

  TIMEDIFF(expr1,expr2):返回两个日期相减相差的时间数

  DATEDIFF(expr1,expr2):返回俩个日期相减相差的天数

  DATE_ADD(日期,INTERVAL 时间间隔值):日期加上时间间隔值

  DATE_SUB(日期,INTERVAL 时间间隔值):日期减去时间间隔值

  DATE(date)、TIME(date)、YEAR(date):选取日期时间的各个部分

  EXTRACT(unit from date):从日期中抽取出某个单独的部分或组合

  个性化显示时间日期:

    dayofweek(date):一周中的第几天

    dayofmonth(date):一月中的第几天

    dayofyear(date):一年中的第几天

    dayname():周几

    monthname():几月

  格式化输出日期和时间:

    DATE_FORMAT(dare,format)、TIME_FORMAT(time,format):date是合法的日期,format是规定的输出格式

 

流程控制函数:

  CASE:

    CASE WHEN [condition] THEN result [WHEN [condition] THEN result......] [ELSE result] END

    匹配第一个when后的情况如果符合返回第一个then后的结果,依次匹配,如果没有匹配的情况,返回else后的结果,没有else返回NULL

  IF

    IF(expr1,expr2,expr3)  若expr1值为TRUE,返回expr2,否则返回expr3

  IFNULL、NULLIF:

    IFNULL(expr1,expr2)、NULLIF(expr1,expr2):

      expr1不为NULL,返回expr1  否则返回expr2

 

其他函数:

  Database():返回使用UTF8字符集的默认(当前)数据库名

  Version():返回指示MySQL服务器版本的字符串

  User():返回当前MySQL用户名和主机名

  Inet_aton():给出一个作为字符串的网络地址的点地址表示,返回一个代表该地址数值的整数

  Inet_ntoa():给定一个数字网络地址,返回作为字符串的该地址的点地址表示

  Password(str):从原文密码str计算并返回字符串,当参数为NULL时返回NULL

  Md5(str):为字符串算出一个MD5 128比特检查和。

posted @ 2019-07-26 19:20  褚褚丶  阅读(137)  评论(0)    收藏  举报