Mysql常用函数合集
1. 字符函数
- length(获取字节数,UTF-8编码中 一个汉字占3个字节,GBK编码中一个汉字占2个字节)
select length('abc');
#结果:3
select length('张三');
#结果:6
- concat(拼接字符串)
select concat('a', 'b', 'c');
#结果:abc
- concat_ws(从二个参数开始拼接字符串,中间以第一个字符隔开)
select concat_ws(',','a', 'b', 'c');
#结果:a,b,c
- upper(转换字母为大写)
select upper('aBc');
#结果:ABC
- lower(转换字母为小写)
select lower('AbC');
#结果:abc
- substr / substring(截取字符串)
select substr('abcd', 2);
#结果:bcd
select substr('abcd', 2, 1);
#结果:b
select substring('abcd', 2);
#结果:bcd
select substring('abcd', 2, 1);
#结果:b
- instr(返回子串索引位置,从1开始,没有返回0)
select instr('abcd', 'bc');
#结果:2
select instr('abcd', 'e');
#结果:0
- trim(去除首尾子串,默认去除首尾空格)
select trim(' abc ');
#结果:abc
select trim('d' from 'dabcd');
#结果:abc
- ltrim(去除左侧空格)
select ltrim(' abc ');
#结果:abc
- rtrim(去除右侧空格)
select rtrim(' abc ');
#结果: abc
- left(从左边开始第n个字符)
select left('abc', 1);
#结果:a
- right(从右边开始第n个字符)
select right('abc', 2);
#结果:bc
- lpad(左侧补充指定长度字符)
select lpad('abc', '5', '-');
#结果:--abc
- rpad(右侧补充指定长度字符)
select rpad('abc', '5', '-');
#结果:abc--
- replace(替换字符串)
select replace('abc', 'b', '-');
#结果:a-c
- repeat(返回字符串s重复n次后的字符串)
select repeat('abc', 2);
#结果:abcabc
- strcmp(比较字符串,相同返回0,左侧大返回1,右侧大返回-1)
select strcmp('abc', 'abc');
#结果:0
select strcmp('abcd', 'abc');
#结果:1
select strcmp('abc', 'abcd');
#结果:-1
- reverse(反转)
select reverse('abc');
#结果:cba
- locate(返回子串在字符串中的其实位置,从1开始)
select locate('bc', 'abcdef');
#结果:2
2. 数学函数
- abs(取绝对值)
select abs(-1);
#结果:1
- round(四舍五入,负数时对绝对值四舍五入后加负号)
select round(1.2);
#结果:1
select round(-1.2);
#结果:-1
select round(1.6);
#结果:2
select round(-1.6);
#结果:-2
select round(3.1415926, 2);
#结果:3.14
select round(1234.5678, -2);
#结果:1200
- ceil(向上取整)
select ceil(1.2);
#结果:2
select ceil(-1.2);
#结果:-1
- floor(向下取整)
select floor(1.2);
#结果:1
select floor(-1.2);
#结果:-2
- rand(随机数,0~1之间)
select rand();
#结果:0.3811951860610351
select ceil(rand() * 90 + 10);
#结果:27
select ceil(rand() * 900 + 100);
#结果:985
- pi(查询圆周率,默认返回小数点后6位)
select pi();
#结果:3.141593
- truncate(截取小数点后位数)
select truncate('3.1415926', 2);
#结果:3.14
- mod(取余)
select mod(10, 3);
#结果:1
select mod(-10, 3);
#结果:-1
- pow / power(求次方)
select pow(2, 3);
#结果:8
select power(2, 3);
#结果:8
- greatest(返回集合中最大值)
select greatest(6, 5, 2, 9, 1);
#结果:9
- least(返回集合中最小值)
select least(6, 5, 2, 9, 1);
#结果:1
3. 日期函数
- now(当前系统日期时间)
select now();
#结果:2020-07-08 19:41:08
- curdate(当前系统日期,不包含时间)
select curdate();
#结果:2020-07-08
- curtime(当前系统时间,不包含日期)
select curtime();
#结果:19:42:15
- year / month / day / hour / minute / second(返回当前日期时间指定部分)
select year(now());
#结果:2020
select month(now());
#结果:7
select day(now());
#结果:8
select hour(now());
#结果:19
select minute(now());
#结果:43
select second(now());
#结果:23
- str_to_date(字符串转日期)
select str_to_date('07/08 2020', '%c/%d %Y');
#结果:2020-07-08
- date_format(日期转字符串)
select date_format('2020-07-08', '%Y年%m月%d日');
#结果:2020年07月08日
- datediff(计算日期只差,单位天)
select datediff('2020-07-08', '2020-05-08');
#结果:61
- date_add(日期增加)
select date_add('2020-07-08 23:59:59', interval 1 second);
#结果:2020-07-09 00:00:00
select date_add('2020-07-08 23:59:59', interval 1 day);
#结果:2020-07-09 23:59:59
- date_sub(日期相减)
select date_sub('2020-07-08 23:59:59', interval 1 second);
#结果:2020-07-08 23:59:58
select date_sub('2020-07-08 23:59:59', interval 1 day);
#结果:2020-07-07 23:59:59
4. 条件函数
- if(判断,类似于三目表达式)
select if(2 > 1, 'yes', 'no');
#结果:yes
- ifnull(判断是否为null,否则返回第二个字符)
select ifnull('abc', 'is null');
#结果:abc
select ifnull(null, 'is null');
#结果:is null
- case(多条件判断)
select
case
when 1 < 2 then
'lt'
when 1 > 2 then
'gt'
else
'eq'
end
#结果:lt
5. 其他函数
- version(查询数据库版本)
select version();
#结果:8.0.20
- database(查询当前数据库名称)
select database();
#结果:testdb
- database(查询当前数据库用户)
select user();
#结果:root@127.0.0.1
- connection_id(查询连接数)
select connection_id();
#结果:1173
- charset(查询字符集)
select charset('abc');
#结果:utf8
- conv(返回数字n为f1进制时的f2进制数)
select conv(15, 10, 2);
#结果:1111
select conv(1111, 2, 8);
#结果:17
Mysql常用函数合集的更多相关文章
- mysql常用函数参考
mysql常用函数参考 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL, ...
- es6常用基础合集
es6常用基础合集 在实际开发中,ES6已经非常普及了.掌握ES6的知识变成了一种必须.尽管我们在使用时仍然需要经过babel编译. ES6彻底改变了前端的编码风格,可以说对于前端的影响非常巨大.值得 ...
- 第十章 MySQL 常用函数
第十章 MySQL 常用函数 第一节:日期和时间函数 1,CURDATE() 返回当前日期:2,CURTIME() 返回当前时间:3,MONTH(d) 返回日期 d 中的月份值,范围是 1~12 第二 ...
- 【数据库】MySql常用函数梳理
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5866388.html MySql常用函数梳理: 1:数学函数 使用格式:一般用于插入.修改语句中,直接 函数( ...
- 【转】Ubuntu常用软件合集
[转]Ubuntu常用软件合集 Ubuntu常用软件合集 我用的使Ubuntu-Kylin14.04,原因呢主要是觉得使本土化的,自带了日历.输入法.优客助手等易于上手的应用.也省的每次安装完原生的系 ...
- 学生选课数据库SQL语句45道练习题整理及mysql常用函数(20161019)
学生选课数据库SQL语句45道练习题: 一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四 ...
- MySQL常用函数介绍
MySQL常用函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.操作符介绍 1>.操作符优先级 mysql; +----------+ | +----------+ ...
- MySql常用函数大全
MySql常用函数大全 MySQL数据库中提供了很丰富的函数.MySQL函数包括数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数.加密函数.格式化函数等.通过这些函数,可以简化用户的操 ...
- Linux常用命令合集
常用命令合集 命令选项和参数 Linux中的命令格式为:command [options] [arguments] //中括号表示可选的,即有些命令不需要选项也不需要参数,但有的命令在运行时需要多个 ...
随机推荐
- MyBatis 使用手册
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作.MyBatis 可以通过简单的 XM ...
- SQL语句的学习
SQL语句的学习 要交作业了,刚好把SQL查询语句的内容写成笔记,以后好查看.水一下 单表查询 DISTINCT:去掉结果中的重复行作用,将DISTINCT关键字放在select的后面.目标列名的前面 ...
- CorelDRAW X7 X8 2017 2018是什么关系?
从CorelDRAW 2017版本开始我们叫习惯了的X几系列的CorelDRAW毅然决然的就换了称呼,所以有时候很多朋友对于软件版本,经常会傻傻分不清,还有人认为X8版本比2017版本高,究竟为什么会 ...
- Word2 word输入公式+文字转表格
1.word中输入 =rand() -点击回车键-会随机生成一段文字-可用作排版练习/虚拟的文字排版设计 ##也可以为=rand(2,3)等,括号里可以随即填写其他数字,最后生成文字字数等不一样 2. ...
- 公平lock和非公平lock的区别
可以看到区别在于,在lock时和tryAquire时,非公平锁不会去管队列中有没有线程在排队,直接尝试去获取锁,失败之后就和公平锁一样,乖乖去排队. 也就是说发生竞争的场景在于,尚未入队的线程之间和刚 ...
- 【微信开发】缓存的asscess_token过期
开发中有遇到这样一个问题,我们一般会将从微信拿到的寿命2个小时的access_token缓存起来,业务里这个缓存的时间是90分钟, 90分钟之后缓存过期,会重新请求新的access_token使旧的a ...
- 利用Postman和Chrome的开发者功能探究项目
利用Postman和Chrome的开发者功能探究项目 controller层研究 前两天忙着写开题报告,没有来得及做项目,今天继续研究一下这个项目. 上次研究到后端的DAO层,研究了一下后端和数据库交 ...
- 01_Activity生命周期及传递数据
1. Activity的生命周期: 2. Activity启动另一个Activity,并传递数据: package com.example.activitydemo; import android.a ...
- 排序--ShellSort 希尔排序
希尔排序 no 实现 希尔排序其实就是插入排序.只不过希尔排序在比较的元素的间隔不是1. 我们知道插入排序 都是 一个一个和之前的元素比较.发现比之前元素小就交换位置.但是希尔排序可能是和前第n个元素 ...
- 老猿学5G扫盲贴:3GPP规范中部分与计费相关的规范序列文档
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 经咨询华为公司的相关专家,以及结合3GPP目录下载 ...