一、日期函数

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中常见函数的更多相关文章

  1. 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出同一表中的某些值 ...

  2. MySql中in和exists效率

    mysql中的in语句是把外表和内表作hash 连接,而exists语句是对外表作loop循环,每次loop循环再对内表进行查询.一直大家都认为exists比in语句的效率要高,这种说法其实是不准确的 ...

  3. [原创]MYSQL中利用外键实现级联删除和更新

    MySQL中利用外键实现级联删除.更新 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定 ...

  4. mysql中的多行查询结果合并成一个

    SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND md.mimetype_id= 5 ...

  5. 【转】MySql中的函数

    原文:http://www.cnblogs.com/kissdodog/p/4168721.html MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: ...

  6. sqlserver 中数据导入到mysql中的方法以及注意事项

    数据导入从sql server 到mysql (将数据以文本格式从sqlserver中导出,注意编码格式,再将文本文件导入mysql中): 1.若从slqserver中导出的表中不包含中文采用: bc ...

  7. MySQL中有关TIMESTAMP和DATETIME的总结

    一.MySQL中如何表示当前时间? 其实,表达方式还是蛮多的,汇总如下: CURRENT_TIMESTAMP CURRENT_TIMESTAMP() NOW() LOCALTIME LOCALTIME ...

  8. MySQL中索引和优化的用法总结

    1.什么是数据库中的索引?索引有什么作用? 引入索引的目的是为了加快查询速度.如果数据量很大,大的查询要从硬盘加载数据到内存当中. 2.InnoDB中的索引原理是怎么样的? InnoDB是Mysql的 ...

  9. B-Tree索引在sqlserver和mysql中的应用

    在谈论数据库性能优化的时候,通常都会提到“索引”,但很多人其实并没有真正理解索引,也没有搞清楚索引为什么就能加快检索速度,以至于在实践中并不能很好的应用索引.事实上,索引是一种廉价而且十分有效的优化手 ...

随机推荐

  1. 如何删除发布服务器distribution

    在建立发布服务器后自动生成distribution数据库为系统数据库,drop无法删除,实际删除方法如下:在“对象资源管理器”-“复制”上点击右键,选择“禁用发布和分发”,依次执行即可完成该系统数据库 ...

  2. [LOJ161] 仙人掌计数

    Statement 带标号仙人掌计数问题. \(n< 131072\). Solution 设\(x\)个点的仙人掌个数的生成函数为\(C(x)\) 对于与根相邻的块, 还是仙人掌, 生成函数为 ...

  3. CF889 E Mod Mod Mod——DP

    题目:http://codeforces.com/contest/889/problem/E 这题真好玩. 官方题解说得很好. 想到相邻 a[ i ] 之间的段可能可以一起维护,但是不太会. 原来是表 ...

  4. VMware Workstation 官方正式版及激活密钥

    热门虚拟机软件VMware Workstation Pro现已更新至14.1.2,14.0主要更新了诸多客户机操作系统版本,此外全面兼容Wind10创建者更新.12.0之后属于大型更新,专门为Win1 ...

  5. IDEA 服务启动报:No buffer space available (maximum connections reached): connect的解决方案。

    错误提示:严重: Error starting endpointjava.io.IOException: Unable to establish loopback connectionat sun.n ...

  6. p4111 [HEOI2015]小Z的房间[简述矩阵树定理]

    分析 [1]无向图 图G的度数矩阵为D,邻接矩阵为A 我们定义这个图的Kirchhoff矩阵为D-A 这个矩阵的任意一个n-1阶主子式的行列式的绝对值就是这个图的生成树个数 [2]有向图 如果要求内向 ...

  7. mariadb(四)连接查询,视图,事物,索引,外键

    一.连接查询 1)进入自己创建的zz数据库 2)创建学生表: create table students ( id int unsigned not null auto_increment prima ...

  8. 001/Nginx高可用模式下的负载均衡与动静分离(笔记)

    Nginx高可用模式下的负载均衡与动静分离 Nginx(engine x)是一个高性能的HTTP和反向代理服务器,具有内存少,并发能力强特点. 1.处理静态文件.索引文件以及自动索引:打开文件描述符缓 ...

  9. layer帮助手册

    layer帮助手册 键:值    调用时按需重新分配,可实现各种风格,如:$.layer({键:值,键:值,......}) 描述 type:0 层的类型.0:信息框(默认),1:页面层,2:ifra ...

  10. 5.1properties属性

    需求: 将数据库连接参数单独配置在db.properties文件中,只需在SqlMapconfig.xml中加载db.properties的属性值. 在SqlMapconfig.xml中就不需要对数据 ...