工作中涉及到部分统计工作,恰好把之前的有些SQL再熟悉回顾一下。

一.涉及到时间统计部分:

求时间差:

SELECT TimeStampDiff(day, (SELECT date(create_date) FROM account WHERE ID = 37), (SELECT CURDATE())) AS '试用时间';SELECT DATEDIFF ((SELECT date(create_date) FROM account WHERE ID = 37), (SELECT CURDATE())) AS '试用时间';

两者的结果是一样的,如下:

这里简单说明一下:

简单来说,其实里面只是嵌套了两个小的sql而已,如果这样写,可能你一下子就明白了:

SELECT TimeStampDiff(day, "2017-02-20", "2017-07-07");
SELECT DATEDIFF("2017-02-20", "2017-07-07") AS DiffDate;

对的,其实就是这样的,没别的什么。

这里补充几条关于时间的SQL:

-- 将当前时间拆分展示:SELECT NOW(),CURDATE(),CURTIME();

 -- 只展示日期,而不展示分钟秒等,如:"2017-02-20"
 SELECT date(create_date) FROM account WHERE ID = 37;

当然要计算某个时间到现在的时间查,有很多方法,也可以用Linux shell方式去计算:

如下:

#!/bin/bash
#
first_stamp=`date -d "2014-12-05 19:45:44" +%s` #计算指定日期的时间戳
today_stamp=`date +%s`                          #计算当天的时间戳
let day_stamp=($today_stamp - $first_stamp)     #当天的时间戳减去指定的时间戳
let day=($day_stamp/86400)                      #相差的时间戳除以一天的秒数就得到天数
echo $day

或者:

start=`date +%s -d "2012-11-28 15:55:37"`
end=`date +%s -d "2017-07-07 15:55:52"`
echo $(($end-$start)) 

如果是日志文件,而不是SQL文件的话,可以用另外的方式进行:

# 如果日志文件输出格式是上述的话,还有个方法:
cat 日志文件 | awk '/^000/{start=$2 " " $3end=$4 " " $5stm=mktime(gensub(/[:-]/, " ", "g", start))etm=mktime(gensub(/[:-]/, " ", "g", end))print $1 " - " etm-stm
}'

关于SQL中时间相关,参考:http://www.phpernote.com/mysql/1130.html 这里也有一些使用的小技巧。

当然更完整的,还是参考W3School:https://www.w3cschool.cn/mysql/func-date.html

关于Linux中的时间:

关于时间,在Linux中可以直接安装,并显示日历:

sudo apt-get install cal

关于日志,还有其他一些更详细的命令,直接man一下,可以看到更多。

顺便提一个问题:如果要问你历史上某一天是星期几(过去或者未来),你怎么做呢?比如说998年2月3日,或者3456年7月9日;你怎么做呢?

我看到这里有一个有趣的帖子:https://segmentfault.com/a/1190000000345958,作者写的很认真,把计算方法,原理等全部写了出来。

但如果当你在linux环境中,可以直接一条命令可以获取到结果:

如下:

cal 998-02-03,或者cal 3456-07-09

-------文末彩蛋:

你可以试试 1752年9月份看看:

更多有趣信息,请参考:http://www.cnblogs.com/haochuang/p/7133518.html

【DB】部分MySQL操作记录相关推荐

  1. 浅谈用KUSTO查询语言(KQL)在Azure Synapse Analytics(Azure SQL DW)审计某DB账号的操作记录

    目录 (一)前言 (二)实际案列 1. 背景说明: 2. 操作步骤 (1)打开Portal (2)搜索"监视器" (3)点击左侧选项卡中的"日志" (4)在新的 ...

  2. mysql 数据修改记录日志_mysql对数据的更新操作记录在哪个日志中?

    mysql对数据的更新操作记录在通用查询日志和二进制日志中.通用查询日志用来记录用户的所有操作,包括启动和关闭 MySQL 服务.更新语句和查询语句等:二进制日志会以二进制的形式记录数据库的各种操作, ...

  3. mysql的记录操作的日志文件_MySql 的操作日志 历史记录

    如何查看mysql数据库操作记录日志 1.首先确认你日志是否启用了mysql>show variables like 'log_bin'. 2.如果启用了,即ON,那日志文件就在mysql的安装 ...

  4. og-bin=mysql-bin_init_connect + binlog 记录 mysql 操作日志

    init_connect + binlog 记录 mysql 操作日志 简介 mysql 的 init_connect 变量是每个客户端连上数据库服务器时执行的一组数据,这组数据可以是一个或者多个sq ...

  5. mysql数据库主从操作记录

    master数据库已投入生产一段时间后,做主从复制的操作记录 环境: master库:172.18.237.13 slave库:172.18.237.14 mysql版本说明: master:mysq ...

  6. mysql+keepalived必须要lvs吗_MySQL 双主热备 + LVS + Keepalived 高可用操作记录

    MySQL复制能够保证数据的冗余的同时可以做读写分离来分担系统压力,如果是主主复制还可以很好的避免主节点的单点故障.然而MySQL主主复制存在一些问题无法满足我们的实际需要:未提供统一访问入口来实现负 ...

  7. mysql+keepalived必须要lvs吗_Mysql双主热备+LVS+Keepalived高可用操作记录

    MySQL复制能够保证数据的冗余的同时可以做读写分离来分担系统压力,如果是主主复制还可以很好的避免主节点的单点故障.然而MySQL主主复制存在一些问题无法满足我们的实际需要:未提供统一访问入口来实现负 ...

  8. MySQL : MySQL如何查看操作记录

    文章目录 1.美图 2.背景 3.概述 4.文件方式 5.table方式 6.注意点 1.美图 2.背景 突然发现自己测试的库,突然某个字段全部改变了,因为这个只有我用,但是感觉应该是有人修改了,但是 ...

  9. Mysql如何查看操作记录

    分为文件记录日志和数据库记录日志两种方式,效果相同 一 .文件记录数据库操作日志 首先进入mysql输入指令 show variables like 'gen%'; general_log是开启还是关 ...

最新文章

  1. Go开发者路线图2019,请收下这份指南
  2. 互联网协议 — RIP 路由信息协议
  3. 打印金子塔||打印乘法表 用函数的思想实现
  4. Web安全之文件包含漏洞
  5. 【python】-socketServer
  6. linux 进程 释放内存,Linux 释放内存方法和原理
  7. mysql semisync 恢复_mysql半同步复制(semi_sync_replication)搭建及使用
  8. c语言程序设计报告用于医院食品加工等部,南开(本部)《C语言程序设计》14春在线作业答案...
  9. 计算机组成原理第二次小组讨论课,巢湖电大开放教育计算机科学与技术(doc 6页).doc...
  10. mysql下载了解压版怎么_Win10安装MySQL5.7版本 解压缩版方法
  11. 页面编码和js文件不同导致的IE6下脚本错误
  12. GEE:快速下载数字高程DEM数据
  13. QQ互联验证Universal Link 状态提示应用的universallink配置中不含互联信息
  14. 2022-2028年全球与中国皮卡后视镜行业市场前瞻与投资战略规划分析
  15. VMware 虚拟SCSI、SATA 和 NVMe 存储控制器条件、限制和兼容性
  16. STM32单片机控制A1333角度传感器磁编码器
  17. CSS中margin属性详解
  18. leetcode 6 z字型变换
  19. 【愚公系列】2023年01月 Java教学课程 043-时间日期类
  20. 【读点论文】CMT: Convolutional Neural Networks Meet Vision Transformers

热门文章

  1. Java泛型你了解多少
  2. mysqldump 导出数据库中每个表的前100条(前n条)
  3. golang 关闭gc 并手动gc_Golang垃圾回收 屏障技术
  4. selector选择器查询
  5. mapview | 如何快速使用交互式地图展示空间数据信息
  6. 在php中array函数的作用是什么意思,php中的array函数有什么用
  7. 针对WEB前端新人的前端知识体系
  8. 10个前端开发人员必须知道的CSS框架
  9. oracle 定时器时间分区_Oracle数据库之oracle按时间分区以及自动分区
  10. python创建实例属性_Python学习笔记__6.5章 实例属性和类属性