mysql时间函数

MySQL必知应会-第12章-汇总数据

匿名 (未验证) 提交于 2019-12-02 22:06:11
本章介绍什么是SQL的聚集函数以及如何利用它们汇总表的数据。 我们经常需要汇总数据而不用把它们实际检索出来,为此MySQL提供了专门的函数。使用这些函数, MySQL查询可用于检索数据,以便分析和报表生成。这种类型的检索例子有以下几种。 确定表中行数(或者满足某个条件或包含某个特定值的行数)。 获得表中行组的和。 找出表列(或所有行或某些特定的行)的最大值、最小值和平均值。 上述例子都需要对表中数据(而不是实际数据本身)汇总。因此,返回实际表数据是对时间和处理资源的一种浪费(更不用说带宽了)。重复一遍,实际想要的是汇总信息。为方便这种类型的检索, MySQL给出了5个聚集函数,见表12-1。这些函数能进行上述罗列的检索。聚集函数( aggregate function) 运行在行组上,计算和返回单个值的函数。 以下说明各函数的使用。 标准偏差 MySQL还支持一系列的标准偏差聚集函数,但本书并未涉及这些内容。 AVG()通过对表中行数计数并计算特定列值之和,求得该列的平均值。 AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。下面的例子使用AVG()返回products表中所有产品的平均价格: 此SELECT语句返回值avg_Price,它包含products表中所有产品的平均价格。如第10章所述, avg_price是一个别名。AVG(

pymysql内置功能

匿名 (未验证) 提交于 2019-12-02 22:06:11
视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。 #语法:CREATE VIEW 视图名称 AS SQL语句 create view teacher_view as select tid from teacher where tname=‘李平老师‘; #于是查询李平老师教授的课程名的sql可以改写为 mysql> select cname from course where teacher_id = (select tid from teacher_view); +--------+ | cname | +--------+ | 物理 | | 美术 | +--------+ rows in set (0.00 sec) #!!!注意注意注意: #1. 使用视图以后就无需每次都重写子查询的sql,但是这么效率并不高,还不如我们写子查询的效率高 #2. 而且有一个致命的问题:视图是存放到数据库里的,如果我们程序中的sql过分依赖于数据库中存放的视图, 那么意味着,一旦sql需要修改且涉及到视图的部分,则必须去数据库中进行修改,而通常在公司中数据库有专门的DBA负责, 你要想完成修改,必须付出大量的沟通成本DBA可能才会帮你完成修改,极其地不方便 #修改视图,原始表也跟着改

mysql格式化日期

匿名 (未验证) 提交于 2019-12-02 22:06:11
mysql查询记录如果有时间戳字段时,查看结果不方便,不能即时看到时间戳代表的含义,现提供mysql格式换时间函数,可以方便的看到格式化后的时间。 1. DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。 DATE_FORMAT(date,format) format参数的格式有 %a 缩写星期名 %b 缩写月名 %c 月,数值 %D 带有英文前缀的月中的天 %d 月的天,数值(00-31) %e 月的天,数值(0-31) %f 微秒 %H Сʱ (00-23) %h Сʱ (01-12) %I Сʱ (01-12) %i 分钟,数值(00-59) %j 年的天 (001-366) %k Сʱ (0-23) %l Сʱ (1-12) %M 月名 %m 月,数值(00-12) %p AM 或 PM %r 时间,12-小时(hh:mm:ss AM 或 PM) %S 秒(00-59) %s 秒(00-59) %T 时间, 24-小时 (hh:mm:ss) %U 周 (00-53) 星期日是一周的第一天 %u 周 (00-53) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53) 星期一是一周的第一天,与 %x 使用 %W 星期名 %w 周的天 (0=星期日, 6=星期六) %X 年,其中的星期日是周的第一天,4

【MySQL】 数据库 -- 函数详解

匿名 (未验证) 提交于 2019-12-02 22:06:11
函数 常用日期函数: 获得年月日: 获得时间戳: 在日期的基础上添加时间: 在日期的基础上减去时间: 计算两个日期相差多少天: 示例: 创建一张生日表,记录生日,并添加当前日期: 示例: 创建一张留言表,并插入数据: 显示所有留言信息,发布日期只显示日期,不用显示时间: 日期函数使用细节 : date_ add()和date_ sub()中的interval后面可以使 year minute second day datediff(date1, date2)得到的是天数,二期是date1-date2的天数,因此可以使负数。 字符串函数: 示例: 获取emp表的ename列的字符集: 求学生表中学生姓名占用的字节数: 将emp表中所有名字中有S的替换成'ytj’: 截取EMP表中ename字段的第二个到第三个字符: 以首字母小写的方式显示所有员工的姓名: 数学函数: 绝对值: 向上/下取整: 保留两位小数,产生随机数: 其它常用函数: user() 查询当前用户 md5(str) 可以对一个字符串进行md5加密,加密后得到一个32位字符串 创建一张表,存用户名和密码: 插入数据,密码用md5加密,显示正在使用的数据库: 文章来源: 【MySQL】 数据库 -- 函数详解

mysql时间日期函数

匿名 (未验证) 提交于 2019-12-02 22:06:11
mysql时间日期函数 now(), current_timestamp(); -- 当前日期时间 current_date(); -- 当前日期 current_time(); -- 当前时间 date('yyyy-mm-dd hh:ii:ss'); -- 获取日期部分 time('yyyy-mm-dd hh:ii:ss'); -- 获取时间部分 date_format('yyyy-mm-dd hh:ii:ss', '%d %y %a %d %m %b %j'); -- 格式化时间 unix_timestamp(); -- 获得unix时间戳 from_unixtime(); -- 从时间戳获得时间 官网: https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_yearweek 格式: 查询每个月1号 select * from lagouok where right(date_format([字段],'%Y-%m-%d'),2)=1 获取星期几 select dayofweek(now())-1 dayofweek(字段)=1 查询每个月星期二 mysql根据生日查询年龄 select year(curdate())-year(字段)-(right(curdate(),5)

mysql日期模糊查找的方法

匿名 (未验证) 提交于 2019-12-02 22:06:11
Mysql模糊查询有以下三种方法: 1.Convert转成日期时间型,在用Like查询。select * from table1 where convert(date,DATETIME) like '2006-04-01%' 第一种方法应该适用与任何数据类型; 2.Betweeselect * from table1 where time between '2018-08-01 0:00:00' and '2018-08-01 24:59:59'"; 第二种方法适用String外的类型; 3 datediff()函数select * from table1 where datediff(create_time,'2018-08-01')=0 第三种方法则是为date类型定制的比较实用快捷的方法。 来源:博客园 作者: superming168 链接:https://www.cnblogs.com/superming/p/11780991.html

数据库:mysql日期函数

匿名 (未验证) 提交于 2019-12-02 22:06:11
mysql日期函数: 1.curdate();当前日期 例子: select curdate(); 2.curtime();当前时间 例子: select curtime(); 3.now();当前日期和时间 例子: select now(); 4.unix_timestamp();当前时间戳 例子: select unix_timestamp(); 5.from_unixtime();时间戳转日期 例子: select from_unixtime(1492176896); 6.week(date);一年中的第几周 例子: select week(‘2017-1-8’); 7.year(date);日期中的年部分 例子: select year(‘2017-4-14’); 8.datediff();日期差值 例子: select datediff(‘2017-4-14’,‘2017-4-10’); 来源:51CTO 作者: hahahafree 链接:https://blog.csdn.net/weixin_43731793/article/details/100690821

mysql 日期相差datediff函数

匿名 (未验证) 提交于 2019-12-02 22:06:11
#日期相差:datadiff,两个参数为时间类型 SELECT DATEDIFF('2019-2-28','2019-2-2'); SELECT DATEDIFF(MAX(hiredate),MIN(hiredate)) AS difference FROM employees; SELECT DATEDIFF(NOW(),'2012-12-2') ; 来源:51CTO 作者: wx5d21d5e6e5ab1 链接:https://blog.51cto.com/14437184/2436577

Mysql 日期函数date_format()

匿名 (未验证) 提交于 2019-12-02 22:06:11
用法:DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据 1、语法 date_fromat(date,format) 说明:date 参数是合法的日期。format 规定日期/时间的输出格式。 2、格式 %d月的天,数值(00-31) %p上午、下午标识,AM 或 PM %h小时,数值 (01-12)12小时制%H小时, 数值(00-23) 24小时制 %M月,月名(英文) %m月,数值(00-12) %Y年,4位 %y年,2位 来源:博客园 作者: 活出自己范儿 链接:https://www.cnblogs.com/Small-sunshine/p/11468881.html

mysql九大类常用函数

匿名 (未验证) 提交于 2019-12-02 22:06:11
本文链接: https://blog.csdn.net/u013251184/article/details/84301730 一、数学函数 二、聚合函数(常用于GROUP BY从句的SELECT查询中) GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果 "列出每个部门最高薪水的结果",sql语句如下: SELECT DEPT, MAX(SALARY) AS MAXIMUM FROM STAFF GROUP BY DEPT "查询每个部门的总的薪水数" SELECT DEPT, sum( SALARY ) AS total FROM STAFF GROUP BY DEPT 具体用法参考: mysql group by where having 用法详情 三、字符串函数 ASCII(char)返回字符的ASCII码值 BIT_LENGTH(str)返回字符串的比特长度 CONCAT(s1,s2...,sn)将s1,s2...,sn连接成字符串 CONCAT_WS(sep,s1,s2...,sn)将s1,s2...,sn连接成字符串,并用sep字符间隔 INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返 回结果 FIND_IN_SET(str,list)分析逗号分隔的list列表,如果发现str