分享 mysql 强大的函数

一、数学函数

//返回x的绝对值 abs(x) select abs(-1) // 1

//返回x的二进制(oct返回八进制,hex返回十六进制) bin(x) select bin(2) // 10

//返回大于x的最小整数值 ceiling(x) select ceiling(5.689) // 6

//返回值e(自然对数的底)的x次方 exp(x) select exp(56) // 2.091659496012996e24

//返回x的自然对数 ln(x) select log(2.091659496012996e24) // 56

//返回x的以y为底的对数 log(x,y) select log(2,8) // 3 select log(2.091659496012996e24) // 56

//返回小于x的最大整数值 floor(x) select floor(5.698) // 5

//返回集合中最大的值 greatest(x1,x2,...,xn) select greatest(1,3,4,22,7,14); // 22

//返回集合中最小的值 least(x1,x2,...,xn) select least(2,4,0.5,22,7) //0.5 //返回x/y的模(余数) mod(x,y) select mod(6,4) // 2

//返回pi的值(圆周率) pi() select pi(); // 3.141593

//返回0到1内的随机值,可以通过提供一个参数(种子)使rand()随机数生成器生成一个指定的值。 rand() select rand() // 0-1 随机数 select rand(5) // 固定值 0.40613597483014313

//返回参数x的四舍五入的有y位小数的值 round(x,y) select round(4.6257); // 5 select round(4.6257,2); // 5.63

//查找替换 replace(); select replace('absaadqf','a','X'); // XbsXXdqf //返回代表数字x的符号的值 sign(x) select sign(5) // 1 select sign(-5) // -1

//返回一个数的平方根 sqrt(x) select sqrt(9) // 3 select sqrt(16) // 4

//返回数字x截短为y位小数的结果 truncate(x,y) select truncate(0.55161,2) //0.55 select truncate(0.55161,4) //0.5516

二、聚合函数 (常用于group by从句的select查询中)

//返回指定列的平均值 avg(col)

//返回指定列中非null值的个数 count(col)

//返回指定列的最小值 min(col)

//返回指定列的最大值 max(col)

//返回指定列的所有值之和 sum(col)

//返回由属于一组的列值连接组合而成的结果 group_concat(col)

三、字符串函数

//返回字符的ascii码值 ascii(char) select ascii('a') // 97

//返回字符串的比特长度 bit_length(str) select bit_length(2) // 8

//将s1,s2...,sn连接成字符串 concat(s1,s2...,sn) select concat('你','好','吗'); //你好吗

//将s1,s2...,sn连接成字符串,并用sep字符间隔 concat_ws(sep,s1,s2...,sn) select concat_ws('|','你','好','吗'); // 你|好|吗

//将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果 insert(str,x,y,instr) select insert('123456789',1,5,'hehe'); // hehe6789 select insert('123456789',2,5,'hehe'); // 1hehe789

//分析逗号分隔的list列表,如果发现str,返回str在list中的位置 find_in_set(str,list) select find_in_set('na','ni,zai,na,11,22,33'); // 3

//返回将字符串str中所有字符改变为小写后的结果 lcase(str)或lower(str) select lcase('HELLO WORLD'); // hello world

//返回将字符串str中所有字符转变为大写后的结果 ucase(str)或upper(str) select ucase('hello world'); // HELLO WORLD

//返回字符串str中最左边的x个字符 left(str,x) select left(123456789,2); // 12

//返回字符串str中的字符数 length(s) select length(123456789) // 9

//从字符串str中切掉开头的空格 ltrim(str) select ltrim(' nihao'); // nihao

//返回子串substr在字符串str中第一次出现的位置 position(substr in str) select position('nihao' in 'wo nihao no nihao'); // 4

//返回子串substr在字符串str中第一次出现的位置 locate(substr , str) select locate('nihao' , 'wo nihao no nihao'); // 4

//用反斜杠转义str中的单引号 quote(str) select quote("asd'asdasd'das"); // 'asd\'asdasd\'das' //返回字符串str重复x次的结果 repeat(str,srchstr,rplcstr) select repeat('a',3); // aaa

//返回颠倒字符串str的结果 reverse(str) select reverse(123456789) // 987654321

//返回字符串str中最右边的x个字符 right(str,x) select right('123456',4); // 3456

//返回字符串str尾部的空格 rtrim(str) select rtrim('123 '); // 123

//去除字符串首部和尾部的所有空格 trim(str) select rtrim(' 123 ');// 123

//比较字符串s1和s2 strcmp(s1,s2) select strcmp('abc','abc');

//正确返回1 错误返回-1

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2015-06-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏个人随笔

房上的猫:变量.数据类型与运算符

一.变量:  定义   变量是存储数据的一个基本单位,不同的变量相互独立  java常用数据类型   int 整数类形 long长整形 short短整型    ...

34014
来自专栏青枫的专栏

java基础学习_基础语法(上)03_day04总结

============================================================================= ==...

561
来自专栏Java帮帮-微信公众号-技术文章全总结

14(01)正则表达式,Pattern,Mactcher,Math,BigInteger,BigDeximal,System等

学正则表达式之前qq号问题: package cn.itcast_01; import java.util.Scanner; /* * 校验qq号码. * ...

2675
来自专栏IT杂记

String类replaceAll方法正则替换深入分析

背景:     前几天有人发了一个关于下面问题的贴,对这个有点好奇,故花时间做了点研究。     对单个反斜杠字符串替换成双斜杠的Java实现如下: ...

18510
来自专栏刘晓杰

正则表达式

2629
来自专栏Java爬坑系列

【JAVA零基础入门系列】Day7 Java输入与输出

  本篇主要介绍Java的输入与输出,当然,这里说的是控制台下的输入与输出,窗口程序的设计将会再后续篇章中有详细说明。     Java的输出很简单,调用Sys...

1989
来自专栏土豆专栏

Java面试之数据类型(一)

封装类是引用类型,基本类型在传递参数的时候都是按值传递,而封装类型是按引用传递的(其实引用也是按值传递的,但是传递的是对象的地址)

1152
来自专栏前端儿

PHP--正则表达式和样式匹配--小记

POSIX 风格的,有些低版本软件支持,目前高版本的有些已经废弃不用了,比如 zend studio 的较新版本.

771
来自专栏趣学算法

数据结构 第3讲 顺序表

顺序表是最简单的一种线性结构,逻辑上相邻的数据在计算机内的存储位置也是相邻的,可以快速定位第几个元素,中间不允许有空,所以插入、删除时需要移动大量元素。

893
来自专栏闪电gogogo的专栏

Python——正则表达式特殊符号及用法

由于正则表达式的内容比较多,所以单独写成一系列文章,主要内容是根据小甲鱼所讲的内容综合一下正则表达式的笔记。 贴上小甲鱼的《Python3 如何优雅地使用正则表...

18210

扫码关注云+社区