1、数学函数

ABS(X):返回X的绝对值
Select ABS(-32);

MOD(N,M)或%,返回N被M除的余数
Select MOD(15,8)

select 15%8

FLOOR(X)返回不大于X的最大整数值
Select FLOOR(1.456);

Select FLOOR(-1.456);

CEILING(X)返回不小于X的最小整数值
Select CEILING(2.56);

Select CEILING(-2.56);

ROUND(X)返回参数X的四舍五入的一个整数
Select ROUND(2.56);

Select ROUND(-2.56);

2、字符串函数

ASCII(str)返回最左边字符的ASCII代码值
若为空返回0,str是null返回null
SELECT ASCII(‘A’)

SELECT CONCAT(str1,str2,…)用于连接字符串
若有任何字符为null,返回null,若有数字,变换为等价的字符串形式
SELECT CONCAT(‘my’,‘sq’,‘l’)

SELECT LENGTH(str)用于返回字符串长度
SELECT LENGTH(“changdu”)

SELECT LOCATE(substr,str)返回substr字符串第一个出现的位置
SELECT LOCATE(‘chicken’,‘chicken is beautiful’)

SELECT INSTR(str,substr)返回substr字符串第一个出现的位置
SELECT INSTR(‘footballbarbar’,‘bar’)

BELECT LEFT(str,len)返回最左边len个字符
SELECT LEFT(“beautiful girl”,5)

SELECT RIGHT(str,len)返回最右边的len个字符
SELECT RIGHT(‘gtmdttkp’,5)

SUBSTRING(str,pos):从字符串str的起始位置pos返回一个子串。
SELECT SUBSTRING(‘gtmdttkp’,5)

TRIM(str):返回字符串str,所有前缀或后缀被删除了
SELECT TRIM(‘bar’)

LTRIM(str):返回删除了其前置空格字符的字符串str
SELECT LTRIM(’ barbar dd’)

RTRIM(str):返回删除了其拖后空格字符的字符串str
SELECT RTRIM(’ ttkp ')

REPLACE(str,from_str,to_str):返回字符串str,其字符串from_str的所有出现由字符串to_str代替
SELECT REPLACE(‘gtmdttkp’,‘t’,‘T’);

REPEAT(str,count)返回str的count次,见文生义repeat重复
SELECT REPEAT(‘gtmdttkp’,3)

REVERSE(str)反转字符串
SELECT REVERSE(‘gtmdttkp’)

INSERT(str,pos,len,newstr):返回字符串str,在位置pos起始的子串且len个字符长的子串由字符串newstr代替
SELECT INSERT(‘gtmdttkp’, 5,3,‘xxx’)

3、日期和时间函数

DAYOFWEEK(date):返回日期date的星期索引(1=星期天,2=星期一, …7=星期六)
SELECT DAYOFWEEK(‘2019-12-19’)

WEEKDAY(date)返回日期date的星期索引(0=星期一,1=星期二, ……6= 星期天)
SELECT WEEKDAY(‘2019-12-19’)3+1星期4没毛病

DAYOFMONTH(date):返回date的月份中的日期,在1到31范围内
SELECT DAYOFMONTH(‘2019-12-19’)

DAYOFYEAR(date):返回date在这一年中是第几天, 在1到366范围内。
SELECT DAYOFYEAR(‘2019-12-19’)

MONTH(date):返回date的月份,范围1到12
SELECT MONTH(‘2019-12-19’)

DAYNAME(date):返回date的星期名字
SELECT DAYNAME(‘2019-12-19’)

MONTHNAME(date) :返回date的月份名字
SELECT MONTHNAME(‘2019-12-19’)

QUARTER(date):返回date一年中的季度,范围1到4
SELECT QUARTER(‘2019-12-19’)

WEEK(date,first) 对于星期天是一周的第一天的地方,有一个单个参数,返回date的周数,范围在0到52(一年中的第几周)
SELECT WEEK(‘2019-12-19’)

2个参数形式WEEK()允许你指定星期是否开始于星期天或星期一。如果第二个参数是0,星期从星期天开始,如果第二个参数是1,从星期一开始
SELECT WEEK(‘2019-12-19’,‘1’)

YEAR(date):返回date的年份,范围在1000到9999
SELECT YEAR(‘2019-12-19’)

NOW():以‘YYYY-MM-DD HH:MM:SS’或YYYYMMDDHHMMSS格式返回当前的日期和时间
SELECT NOW()

HOUR(time):返回time的小时,范围是0到23
SELECT HOUR(‘14:40:35’)

MINUTE(time):返回time的分钟,范围是0到59
SELECT MINUTE(‘14:40:35’)

SECOND(time):回来time的秒数,范围是0到59。
SELECT SECOND(‘14:40:35’)

DATE_ADD(date,INTERVAL expr type) ,进行日期增加的操作,可以精确到秒
SELECT DATE_ADD(‘2019-12-19 23:59:59’,INTERVAL 1 SECOND)

SELECT DATE_ADD(‘2019-12-19 23:59:59’,INTERVAL "1:1"MINUTE_SECOND)
增加一分一秒

DATE_SUB(date,INTERVAL expr type) ,进行日期减少的操作,可以精确到秒
SELECT DATE_SUB(‘2019-12-19 23:59:59’,INTERVAL "1:1"MINUTE_SECOND)
减少一分一秒

CURTIME()以‘HH:MM:SS’或HHMMSS格式返回当前时间值
SELECT CURTIME()

4、控制流程函数

Case when 函数
SELECT CASE 11
WHEN 1 THEN ‘这是一’
WHEN 2 THEN ‘这是二’
ELSE ‘其他’
END;

如果没有else部分则返回null
IF(expr1,expr2,expr3)

如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定
SELECT IF(‘蔡徐坤’=‘鸡’,‘鸡你太美’,‘律师函警告’)

STRCMP(expr1,expr2)
如果字符串相同,STRCMP()返回0,如果第一参数根据当前的排序次序小于第二个,返回-1,否则返回1。
SELECT STRCMP(‘gtmdttkp0’,‘gtmdttkp1’)

5、系统信息函数

VERSION()函数返回数据库的版本号
SELECT VERSION()

CONNECTION_ID()函数返回服务器的连接数
也就是到现在为止MySQL服务的连接次数;
SELECT CONNECTION_ID()

DATABASE()和SCHEMA()返回当前数据库名

USER()、SYSTEM_USER()、SESSION_USER()、CURRENT_USER()和CURRENT_USER这几个函数可以返回当前用户的名称
SELECT USER() 其他查询结果均一致

获取字符串的字符集和排序方式的函数
CHARSET(str)函数返回字符串str的字符集,一般情况这个字符集就是系统的默认字符集;COLLATION(str)函数返回字符串str的字符排列方式
SELECT COLLATION(‘ad’)

SELECT CHARSET(‘ggg’)

获取最后一个自动生成的ID值的函数
SELECT LAST_INSERT_ID()

6、加密函数

加密函数PASSWORD(str)
SELECT PASSWORD(‘zyh666’)

加密函数MD5(str)
SELECT MD5(‘zyh666’)

加密函数ENCODE(str,pswd_str)
ENCODE(str,pswd_str)函数可以使用字符串pswd_str来加密字符串str。加密的结果是一个二进制数,必须使用BLOB类型的字段来保存它。
SELECT ENCODE(‘aaa’,‘zyh666’)

解密函数
SELECT DECODE(ENCODE(‘被加密字符串’,‘解密字符串’),‘解密字符串’)

DECODE(crypt_str,pswd_str)函数可以使用字符串pswd_str来为crypt_str解密。
crypt_str是通过ENCODE(str,pswd_str)加密后的二进制数据。字符串pswd_str应该与加密时的字符串pswd_str是相同的。下面使用DECODE(crypt_str,pswd_str)为ENCODE(str,pswd_str)加密的数据解密。

其他函数

格式化函数FORMAT(x,n)
FORMAT(x,n)函数可以将数字x进行格式化,将x保留到小数点后n位。这个过程需要进行四舍五入
SELECT FORMAT(2.6666,3)

不同进制的数字进行转换的函数
ASCII(s)返回字符串s的第一个字符的ASCII码;
SELECT ASCII(‘a’)

BIN(x)返回x的二进制编码;
SELECT BIN(10)

HEX(x)返回x的十六进制编码;
SELECT HEX(5545)

OCT(x)返回x的八进制编码;
SELECT OCT(88)

CONV(x,f1,f2)将x从f1进制数变成f2进制数
SELECT CONV(10,10,2)

IP地址与数字相互转换的函数
INET_ATON(IP)函数可以将IP地址转换为数字表示;INET_NTOA(n)函数可以将数字n转换成IP的形式。其中,INET_ATON(IP)函数中IP值需要加上引号。这两个函数互为反函数。
SELECT INET_NTOA(1045452152)

SELECT INET_ATON(‘192.168.10.12’)

加锁函数和解锁函数
SELECT GET_LOCK(str,timeout)函数定义一个名称为nam、持续时间长度为time秒的锁。如果锁定成功,返回1;如果尝试超时,返回0;如果遇到错误,返回NULL。
SELECT GET_LOCK(666,300)

RELEASE_LOCK(name)函数解除名称为name的锁。如果解锁成功,返回1;如果尝试超时,返回0;如果解锁失败,返回NULL;
SELECT RELEASE_LOCK(666)

IS_FREE_LOCK(name)函数判断是否使用名为name的锁。如果使用,返回0;否则,返回1。
SELECT IS_FREE_LOCK(666)

BENCHMARK(count,expr)函数将表达式expr重复执行count次,然后返回执行时间。该函数可以用来判断MySQL处理表达式的速度。
SELECT BENCHMARK(666*45+45/1216,10563599)

改变字符集的函数
SELECT CONVERT(expr USING transcoding_name)函数将字符串expr 的字符集变成 transcoding_name
SELECT CONVERT( ‘ABC’ USING GBK)

CAST(x AS type)和CONVERT(x,type)这两个函数将x变成type类型
这两个函数只对BINARY、CHAR、DATE、DATETIME、TIME、SIGNED INTEGER、UNSIGNED INTEGER这些类型起作用。但两种方法只是改变了输出值的数据类型,并没有改变表中字段的类型。

SELECT CAST(666 AS CHAR)

SELECT CONVERT(666,CHAR)

原文地址

mysql:mysql的基本函数相关推荐

  1. 虚拟机CENTOS7下 安装8.0版本MySQL MySQL主从配置详细~

    全部代码,写在后面吧! 全部的代码在后面. 1.安装mysql 先rz命令上传一下!出现未响应是很正常的情况!等会就好啦. ls查看一下,已经出现啦~ xz -d mysql-8.0.13-linux ...

  2. [mysql] mysql 5.6.X 慢查询日志

    慢查询日志 一篇好文章,学习保存.... 打开慢查询日志 慢查询日志,顾名思义就是记录执行比较慢查询的日志. 查看是否开启慢查询日志: show variables like '%slow%'; 打开 ...

  3. 登录mysql出现/var/lib/mysql/mysql.sock不存在

    问题描述: 1.mysql安装完成后,使用 service mysqld restart 总是出现stop mysqld service 失败. 2.使用mysql -uroot -p登录出现找不到  ...

  4. mysql:mysql error:Access denied for user 'root'@'localhost' (using password: YES)

    在给服务器添加用户的时候,一不小心添加主机名错误.我直接把ip给添加上去了,这就十分尴尬了,然后在修改的时候碰到了这个问题,记录一下. 一.mysql添加用户时的操作: insert into mys ...

  5. 设置更改root密码 连接mysql mysql常用命令

    一.设置更改root密码 #/etc/init.d/mysqld start #ps aux |grep mysql #mysql -uroot //提示-bash: mysql : 未找到命令 #l ...

  6. [MySQL] MySQL的自己主动化安装部署

    有过MySQL运维的人应该都清楚,线上的MySQL一般都採用源代码编译,由于这样才干够依据企业的各自须要选择要编译的功能,尽管MySQL的源代码编译挺简单的,可是试想一下,假设你有几百台server同 ...

  7. useradd -g mysql mysql_Linux —— useradd -g mysql mysql解析及useradd详解

    当我们在不通过yum(CentOS).apt-get(Ubuntu)来安装MySQL的时候,通常执行以下命令来创建一个用户名为mysql 的用户并加入mysql用户组: [root@localhost ...

  8. mysql snmp agent_WebNMS SNMP Micro Agent for MySQL - MySQL Management Console

    主页 > SNMP Micro Agent for MySQL WebNMS SNMP Micro Agent for MySQL™ MySQL数据库服务器是世界上应用最普遍的开放式源码数据库. ...

  9. Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)解决方法

    登陆mysql的时候,出现了这个问题: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' ( ...

  10. mysql use mysql_1、设置mysql远程访问执行mysql 命令进入mysql 命令模式,执行如下SQL代码mysql use mysql; mysql GRANT ALL ON ...

    1.设置mysql远程访问 执行mysql 命令进入mysql 命令模式,执行如下SQL代码mysql> use mysql; mysql> GRANT ALL ON *.* TO adm ...

最新文章

  1. ​Python数据可视化工具怎么选?深度评测5款实用工具
  2. matlab for循环_从零开始的matlab学习笔记——(5)循环
  3. bzoj1174 Toponyms
  4. axurehtml打开不用用_还有人花钱买会员看剧?赶紧用iPhone免费追剧
  5. 解决MySQL8.0报错:Unknown system variable 'validate_password_policy'
  6. shell结合expect写的批量scp脚本工具
  7. C# 模拟Windows键盘事件
  8. Protobuf的优点
  9. STM32CubeMX使用(四)之DMA方式使用ADC
  10. 综合布线工程GB50311-2016中的各大子系统示意图
  11. [Python从零到壹] 五十三.图像增强及运算篇之直方图均衡化处理
  12. 计算机类核心期刊投稿的一些资料汇总
  13. VIP邮箱哪个最好用?怎么申请163电子邮箱?
  14. opencv处理函数记录_转自opencv中文网站
  15. SAE J3016 自动驾驶分级定义 2021年4月更新
  16. HCIE 面试资料-OSPF
  17. 基于spring mvc+bootstrap 集成的返利平台 新增内容-自动对接京东数据
  18. 2020.5.12第一次博客
  19. 【angular5】浅谈angular5与serviceWorker——(2)
  20. 蓝桥杯嵌入式 - 第九届决赛试题(电子秤)

热门文章

  1. 连接中控指纹考勤机 zkemkeeper zksoftware ZKTeco
  2. 解决 Virtualbox 6.1.34 出现 End kernel panic - not syncing: attempted to kill the idle task
  3. 《30天吃掉那只 TensorFlow2.0》 开篇辞(Tensorflow 学习之路)
  4. python不显示边框_python设置表格边框的具体方法
  5. 浅谈音乐与计算机,浅析电脑音乐在音乐教育中的应用
  6. 趣图 | 早起的你 vs 熬夜的你
  7. 高级shell编程笔记(第十二章 外部过滤器,程序和命令)
  8. 关于声子和热输运计算中BORN电荷和non-analytic修正的问题
  9. linux中cpu使用率命令,LINUX下查看CPU使用率的命令
  10. java 通用权限管理_通用权限管理设计篇(一)