MySQL中常见函数
一、日期函数
1、NOW() 返回当前日期和时间
mysql> SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2019-10-19 10:55:28 |
+---------------------+
1 row in set (0.00 sec)
2、DATE_FORMAT(d,f) 按表达式 f的要求显示日期 d
mysql> SELECT DATE_FORMAT(NOW(),'%Y年-%m月-%d日 %H时:%i分:%s秒');
+----------------------------------------------------+
| DATE_FORMAT(NOW(),'%Y年-%m月-%d日 %H时:%i分:%s秒') |
+----------------------------------------------------+
| 2019年-10月-19日 11时:03分:01秒 |
+----------------------------------------------------+
1 row in set (0.00 sec)
3、DATE_ADD(d,INTERVAL expr type) 计算起始日期 d 加上一个时间段后的日期
mysql> SELECT DATE_ADD(NOW(),INTERVAL 1 DAY);
+--------------------------------+
| DATE_ADD(NOW(),INTERVAL 1 DAY) |
+--------------------------------+
| 2019-10-20 11:07:47 |
+--------------------------------+
1 row in set (0.00 sec)
注意:\expr:正数(加)、负数(减)
\unit:支持毫秒microsecond、秒second、小时hour、天day、周week、年year
二、字符串函数
1、CONCAT(s1,s2...sn) 字符串 s1,s2 等多个字符串合并为一个字符串
mysql> SELECT CONCAT('My','SQL');
+--------------------+
| CONCAT('My','SQL') |
+--------------------+
| MySQL |
+--------------------+
1 row in set (0.00 sec)
2、FIELD(s,s1,s2...) 返回第一个字符串 s 在字符串列表(s1,s2...)中的位置
mysql> SELECT FIELD('C','A','B','C','D');
+----------------------------+
| FIELD('C','A','B','C','D') |
+----------------------------+
| 3 |
+----------------------------+
1 row in set (0.00 sec)
3、LOWER(s) 将字符串 s 的所有字母变成小写字母
mysql> SELECT LOWER('ABCD');
+---------------+
| LOWER('ABCD') |
+---------------+
| abcd |
+---------------+
1 row in set (0.00 sec)
4、REVERSE(s) 将字符串s的顺序反过来
mysql> SELECT REVERSE('ABCD');
+-----------------+
| REVERSE('ABCD') |
+-----------------+
| DCBA |
+-----------------+
1 row in set (0.00 sec)
三、数字函数
1、ABS(x) 返回 x 的绝对值
mysql> SELECT ABS(-10);
+----------+
| ABS(-10) |
+----------+
| 10 |
+----------+
1 row in set (0.00 sec)
2、ROUND(x) 返回离 x 最近的整数
mysql> SELECT ROUND(1.2345);
+---------------+
| ROUND(1.2345) |
+---------------+
| 1 |
+---------------+
1 row in set (0.00 sec)
3、RAND() 返回 0 到 1 的随机数
mysql> SELECT RAND();
+--------------------+
| RAND() |
+--------------------+
| 0.5442781900468079 |
+--------------------+
1 row in set (0.00 sec)
4、POW(x,y) 返回 x 的 y 次方
mysql> SELECT POW(4,2); #4的2次方
+----------+
| POW(4,2) |
+----------+
| 16 |
+----------+
1 row in set (0.00 sec)
四、聚合函数
1、AVG(expression) 返回一个表达式的平均值,expression 是一个字段
#返回 Products 表中Price 字段的平均值
mysql> SELECT AVG(price) AS AveragePrice FROM Products;
2、COUNT(expression) 返回查询的记录总数,expression 参数是一个字段或者 * 号
#返回 Products 表中 products 字段总共有多少条记录:
mysql> SELECT COUNT(id) AS NumberOfProducts FROM Products;
3、MAX(expression) 返回字段 expression 中的最大值
#返回数据表 Products 中字段 Price 的最大值:
mysql> SELECT MAX(Price) AS LargestPrice FROM Products;
4、MIN(expression) 返回字段 expression 中的最小值
#返回数据表 Products 中字段 Price 的最小值:
mysql> SELECT MIN(Price) AS SmalltPrice FROM Products;
5、SUM(expression) 返回指定字段的总和
#计算 Products表中字段 Cost的总和:
mysql> SELECT SUM(Cost) AS TotalCost FROM Products;
6、group_concat(expression) 返回指定字段内容的拼接
mysql> SELECT GROUP_CONCAT(name) from crm_product;
+-----------------------+
| GROUP_CONCAT(name) |
+-----------------------+
| 磷酸铁锂电池,叠片电池 |
+-----------------------+
1 row in set (0.00 sec)
MySQL中常见函数的更多相关文章
- MySQL中You can't specify target table for update in FROM clause一场
mysql中You can't specify target table <tbl> for update in FROM clause错误的意思是说,不能先select出同一表中的某些值 ...
- MySql中in和exists效率
mysql中的in语句是把外表和内表作hash 连接,而exists语句是对外表作loop循环,每次loop循环再对内表进行查询.一直大家都认为exists比in语句的效率要高,这种说法其实是不准确的 ...
- [原创]MYSQL中利用外键实现级联删除和更新
MySQL中利用外键实现级联删除.更新 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定 ...
- mysql中的多行查询结果合并成一个
SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND md.mimetype_id= 5 ...
- 【转】MySql中的函数
原文:http://www.cnblogs.com/kissdodog/p/4168721.html MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: ...
- sqlserver 中数据导入到mysql中的方法以及注意事项
数据导入从sql server 到mysql (将数据以文本格式从sqlserver中导出,注意编码格式,再将文本文件导入mysql中): 1.若从slqserver中导出的表中不包含中文采用: bc ...
- MySQL中有关TIMESTAMP和DATETIME的总结
一.MySQL中如何表示当前时间? 其实,表达方式还是蛮多的,汇总如下: CURRENT_TIMESTAMP CURRENT_TIMESTAMP() NOW() LOCALTIME LOCALTIME ...
- MySQL中索引和优化的用法总结
1.什么是数据库中的索引?索引有什么作用? 引入索引的目的是为了加快查询速度.如果数据量很大,大的查询要从硬盘加载数据到内存当中. 2.InnoDB中的索引原理是怎么样的? InnoDB是Mysql的 ...
- B-Tree索引在sqlserver和mysql中的应用
在谈论数据库性能优化的时候,通常都会提到“索引”,但很多人其实并没有真正理解索引,也没有搞清楚索引为什么就能加快检索速度,以至于在实践中并不能很好的应用索引.事实上,索引是一种廉价而且十分有效的优化手 ...
随机推荐
- nginx之安装
1.简介 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供俄 ...
- php大文件断点续传
该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开始. 如何分 ...
- 计算一段日期内的周末天数的php代码(星期六,星期日总和)
代码如下: /*| Author: Yang Yu <niceses@gmail.com>| @param char|int $start_date 一个有效的日期格式,例如:200910 ...
- BeautifulSoup笔记
## find_all的使用: 1. 在提取标签的时候,第一个参数是标签的名字.然后如果在提取标签的时候想要使用标签属性进行过滤,那么可以在这个方法中通过关键字参数的形式,将属性的名字以及对应的值传进 ...
- vue组件传值之父传子
1.父组件给子组件传值 home父组件 header子组件 关键字props home代码 <template> <div> <v-header :title=&q ...
- PHP读取XML文件数据获取节点值
最近在接入渠道的时候遇到接口返回是xml数据.现在接口数据返回json数据格式比较常见. 如何获取xml里面真正数据? 对象结果集合单个值的强制转换处理.(直接代码说明) demo示例: 创建xml ...
- LintCode之在O(1)时间复杂度删除链表
题目描述: 分析:因为题目要求不能用循环,而且只给了要删除的节点,并没有给链表.所以我无法取得要删除节点的前一个节点,只能在待删除的节点以及下一个节点上做文章.我的思路是:将待删除的节点的下一个节点的 ...
- 设置VsCode自动换行
方法如下: 文件 -> 首选项 -> 设置 如果你是Mac则是右上角 Code -> 首选项 -> 设置 然后在右侧的编辑窗口中添加 1 "editor.wordWr ...
- 关于ADB 执行报错问题-db server version (31) doesn't match this client (40); killing...
D:\ADB>adb devicesList of devices attachedadb server version (31) doesn't match this client (40); ...
- String中的CompareTo
在API源码中,String的compareTo其实就是一次比较两个字符串的ASCII码.如果两个字符串的ASCII相等则继续后续比较,否则直接返回两个ASCII的差值.如果两个字符串完全一样,则返回 ...