分享 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 条评论
登录 后参与评论

相关文章

来自专栏柠檬先生

JavaScript 基础(六) 数组方法 闭包

在一个对象中绑定函数,称为这个对象的方法。 在JavaScript 中,对象的定义是这样的;     var guagua = {         na...

23910
来自专栏尾尾部落

[剑指offer] 链表中倒数第k个结点 [剑指offer] 链表中倒数第k个结点

经典的双指针法。定义两个指针,第一个指针从链表的头指针开始遍历向前走k-1步,第二个指针保持不动,从第k步开始,第二个指针也开始从链表的头指针开始遍历,由于两个...

902
来自专栏云霄雨霁

子字符串查找----Boyer-Moore算法(从右向左匹配)

1130
来自专栏从零开始的linux

python运算符

算数运算符 符号描述例子-减法3 - 2=1+加法3 + 2=5*乘法3 * 2=6/除法4 / 2=2%取模 取余数3 % 2=1**幂2 ** 3=8//取...

4098
来自专栏尾尾部落

普林斯顿大学算法公开课笔记——插入排序

现有一组数组 arr = [5, 6, 3, 1, 8, 7, 2, 4],共有八个记录,排序过程如下:

1171
来自专栏大闲人柴毛毛

剑指offer——面试题10输入一个十进制整数,统计其中二进制1的个数

/** * 题目:输入一个十进制整数,统计其中二进制1的个数 * @author 大闲人柴毛毛 */ public class CountBitOne {...

3454
来自专栏人工智能LeadAI

算法 | 数据结构常见的八大排序算法

01 前言 八大排序,三大查找是《数据结构》当中非常基础的知识点,在这里为了复习顺带总结了一下常见的八种排序算法。 常见的八大排序算法,他们之间关系如下: ...

2834
来自专栏noteless

[二]基础数据类型之Long详解

toUnsignedString 系列   toString  toXXXString  系列

1933
来自专栏北京马哥教育

Python语言中list及tuple的使用示例

Python语言中的list Python有一种内置数据类型被称为列表:list。 1.list基本定义 list是一种有序的集合,可以随时添加和删除其中的元...

3167
来自专栏鸿的学习笔记

python的迭代器和生成器

迭代是数据处理的基础,迭代可以理解为是一种惰性求值。在python里迭代器和生成器是一回事,使用的是yield关键字。

561

扫码关注云+社区