常用的10种MySQL函数,数据处理一定用得上


常用的10种MySQL函数,数据处理一定用得上

文章插图
 
MySQL函数是MySQL数据库提供的内部函数 。这些内部函数可以帮我们快捷地处理表中的数据,从而让我们得到想要的数据 。MySQL函数有多种类别,今天,木木老师分享10类常见的MySQL函数:
  • 数学函数(16个)
  • 聚合函数(6个)
  • 字符串函数(19个)
  • 日期和时间函数(18个)
  • 加密函数(8个)
  • 控制流函数(5个)
  • 格式化函数(5个)
  • 类型转化函数(1个)
  • 系统信息函数(6个)
  • 开窗函数(6个)
1、数学函数ABS(x)--返回x的绝对值BIN(x)--返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x)--返回大于x的最小整数值EXP(x)--返回值e(自然对数的底)的x次方FLOOR(x)--返回小于x的最大整数值GREATEST(x1,x2,...,xn)--返回集合中最大的值LEAST(x1,x2,...,xn)--返回集合中最小的值LN(x)--返回x的自然对数LOG(x,y)--返回x的以y为底的对数MOD(x,y)--返回x/y的模(余数)PI()--返回pi的值(圆周率)RAND()--返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值 。ROUND(x,y)--返回参数x的四舍五入的有y位小数的值SIGN(x)--返回代表数字x的符号的值SQRT(x)--返回一个数的平方根TRUNCATE(x,y)--返回数字x截短为y位小数的结果(提示:可以左右滑动代码)
2、聚合函数【常用的10种MySQL函数,数据处理一定用得上】AVG(X)--返回指定列的平均值COUNT(X)--返回指定列中非NULL值的个数MIN(X)--返回指定列的最小值MAX(X)--返回指定列的最大值SUM(X)--返回指定列的所有值之和GROUP_CONCAT(X)--返回由属于一组的列值连接组合而成的结果3、字符串函数(20个)ASCII(char)--返回字符的ASCII码值BIT_LENGTH(str)--返回字符串的比特长度CONCAT(s1,s2...,sn)--将s1,s2...,sn连接成字符串CONCAT_WS(sep,s1,s2...,sn)--将s1,s2...,sn连接成字符串,并用sep字符间隔INSERT(str,x,y,instr)--将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果FIND_IN_SET(str,list)--分析逗号分隔的list列表,如果发现str,返回str在list中的位置LCASE(str)或LOWER(str)--返回将字符串str中所有字符改变为小写后的结果LEFT(str,x)--返回字符串str中最左边的x个字符LENGTH(s)--返回字符串str中的字符数LTRIM(str)--从字符串str中切掉开头的空格POSITION(substr,str)--返回子串substr在字符串str中第一次出现的位置QUOTE(str)--用反斜杠转义str中的单引号REPEAT(str,srchstr,rplcstr)--返回字符串str重复x次的结果REVERSE(str)--返回颠倒字符串str的结果RIGHT(str,x)--返回字符串str中最右边的x个字符RTRIM(str)--返回字符串str尾部的空格STRCMP(s1,s2)--比较字符串s1和s2TRIM(str)--去除字符串首部和尾部的所有空格UCASE(str)或UPPER(str)--返回将字符串str中所有字符转变为大写后的结果4、日期和时间函数CURDATE()或CURRENT_DATE()--返回当前的日期CURTIME()或CURRENT_TIME()--返回当前的时间DATE_ADD(date,INTERVAL int keyword)--返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化)DATE_FORMAT(date,fmt)--依照指定的fmt格式格式化日期date值DATE_SUB(date,INTERVAL int keyword)--返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化)DAYOFWEEK(date)--返回date所代表的一星期中的第几天(1~7)DAYOFMONTH(date)--返回date是一个月的第几天(1~31)DAYOFYEAR(date)--返回date是一年的第几天(1~366)DAYNAME(date)--返回date的星期名,如:SELECT DAYNAME(CURRENT_DATE);FROM_UNIXTIME(ts,fmt)--根据指定的fmt格式,格式化UNIX时间戳tsHOUR(time)--返回time的小时值(0~23)MINUTE(time)--返回time的分钟值(0~59)MONTH(date)--返回date的月份值(1~12)MONTHNAME(date)--返回date的月份名,如:SELECT MONTHNAME(CURRENT_DATE);NOW()--返回当前的日期和时间QUARTER(date)--返回date在一年中的季度(1~4)WEEK(date)--返回日期date为一年中第几周(0~53)YEAR(date)--返回日期date的年份(1000~9999)5、加密函数AES_ENCRYPT(str,key)--返回用密钥key对字符串str利用高级加密标准算法加密后的结果,调用AES_ENCRYPT的结果是一个二进制字符串,以BLOB类型存储AES_DECRYPT(str,key)--返回用密钥key对字符串str利用高级加密标准算法解密后的结果DECODE(str,key)--使用key作为密钥解密加密字符串strENCRYPT(str,salt)--使用UNIXcrypt()函数,用关键词salt(一个可以惟一确定口令的字符串,就像钥匙一样)加密字符串strENCODE(str,key)--使用key作为密钥加密字符串str,调用ENCODE()的结果是一个二进制字符串,它以BLOB类型存储MD5()--计算字符串str的MD5校验和PASSWORD(str)--返回字符串str的加密版本,这个加密过程是不可逆转的,和UNIX密码加密过程使用不同的算法 。SHA()--计算字符串str的安全散列算法(SHA)校验和


推荐阅读