`

查询日期相关的MySQL语句

 
阅读更多

 

 【`date` DATETIME NULL DEFAULT NULL COMMENT '时间'】

  【时间类型:2012-3-2 17:22:16】

 

【`date` DATETIME NULL DEFAULT NULL COMMENT '时间'】
【时间类型:2012-3-2 17:22:16】

  今天

  select * from 表名 where to_days(时间字段名)=to_days(now());

  昨天

  SELECT * FROM `表名` where TO_DAYS(NOW()) – TO_DAYS(时间字段名) = 1;

  /*DATEDIFF(now() , FROM_UNIXTIME(`时间字段名`)) = 1; //时间字段 存储类型为时间戳*/

  7天

  SELECT * FROM `表名` where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名);

  /*DATEDIFF(now() , FROM_UNIXTIME(`时间字段名`)) = 7; //时间字段 存储类型为时间戳*/

  近30天

  SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名);

  本月

  SELECT * FROM 表名 WHERE DATE_FORMAT(时间字段名, '%Y%m' = DATE_FORMAT(CURDATE(), '%Y%m';
 

 

 

今天给大家介绍六条比较有用的MySQL的SQL语句,可能很多人都通过PHP来实现这些功能。

1. 计算年数

你想通过生日来计算这个人有几岁了。

1
SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(now()) - TO_DAYS(@dateofbirth)), '%Y') + 0;

2. 两个时间的差

取得两个 datetime 值的差。假设 dt1 和 dt2 是 datetime 类型,其格式为 ‘yyyy-mm-dd hh:mm:ss’,那么它们之间所差的秒数为:

1
UNIX_TIMESTAMP( dt2 ) - UNIX_TIMESTAMP( dt1 )

除以60就是所差的分钟数,除以3600就是所差的小时数,再除以24就是所差的天数。

3. 显示某一列出现过N次的值

1
2
3
4
SELECT id
FROM tbl
GROUP BY id
HAVING COUNT(*) = N;

4. 计算两个日子间的工作日

所谓工作日就是除出周六周日和节假日。

1
2
3
4
5
SELECT COUNT(*)
FROM calendar
WHERE d BETWEEN Start AND Stop
  AND DAYOFWEEK(d) NOT IN(1,7)
  AND holiday=0;

5. 查找表中的主键

1
2
3
4
5
6
7
SELECT k.column_name
FROM information_schema.table_constraints t
JOIN information_schema.key_column_usage k
USING (constraint_name,table_schema,table_name)
WHERE t.constraint_type='PRIMARY KEY'
  AND t.table_schema='db'
  AND t.table_name=tbl'

6. 查看你的数库有多大

1
2
3
4
5
6
SELECT
  table_schema AS 'Db Name',
  Round( Sum( data_length + index_length ) / 1024 / 1024, 3 ) AS 'Db Size (MB)',
  Round( Sum( data_free ) / 1024 / 1024, 3 ) AS 'Free Space (MB)'
FROM information_schema.tables
GROUP BY table_schema ;

希望对你有帮助。

分享到:
评论

相关推荐

    2022年所有日期数据(区分周末、节假日、工作日) mysql 语句

    2022所有日期数据(区分周末、节假日、工作日) mysql 语句 insert 生成的节假日表 工作日:0 法定节假日:1 休息日加班:2 休息日:3 mysql2022日期数据全部.sql

    2023年所有日期数据(区分周末、节假日、工作日) mysql 语句

    2023年所有日期数据(区分周末、节假日、工作日) mysql 语句 insert 生成的节假日表 code字段状态: 工作日:0 法定节假日:1 休息日加班(法定节假日调休):2 休息日(日常休息日):3 mysql2023日期数据全部.sql

    mysql语句集合包括模糊查询索引函数

    在这个“mysql语句集合包括模糊查询索引函数”中,我们将深入探讨SQL中的关键概念,特别是与模糊查询、索引和函数相关的知识。 首先,SQL语句主要分为四大类:SELECT(查询)、INSERT(插入)、UPDATE(更新)和...

    2023年所有日期数据(区分休息日、节假日、工作日、调休工作) mysql 语句

    2023年所有日期数据(区分周末、节假日、工作日) mysql 语句 insert 生成的节假日表 code字段状态: 工作日:0 法定节假日:1 休息日加班(法定节假日调休):2 休息日(日常休息日):3 mysql2023日期数据全部.sql

    23个Mysql常用语句查询 最新 最全

    ### MySQL 常用查询语句详解 ...以上介绍了MySQL中常用的23种查询语句,涵盖了数值型、字符串、日期型等多种数据类型的查询方法以及各种复杂的查询需求。通过这些查询语句,开发者可以更高效地管理数据库中的数据。

    MySQL查询语句及MySQL8.0新特性窗口函数

    MySQL 是一款广泛使用的开源关系型数据库管理系统,其查询语句是数据库操作的核心部分。在MySQL中,函数的使用极大地丰富了查询和数据处理的可能性。本文将详细讲解MySQL的一些常用函数以及MySQL 8.0引入的新特性...

    Mysql 时间模糊查询

    除了上述提到的方法,MySQL还提供了一系列日期和时间相关的函数,可以更加灵活地处理各种时间相关的查询需求。 ##### 1. DATE_FORMAT函数 DATE_FORMAT函数用于格式化日期时间,常用于日期时间的比较。例如,查询...

    MySQL语法语句大全MySQL语法语句大全

    MySQL是一种广泛使用的开源关系型数据库管理系统,其语法丰富多样,涵盖了数据查询、数据操作、数据库设计、事务处理、存储过程等多个方面。以下是一份全面的MySQL语法语句概述: 一、数据定义(DDL - Data ...

    MySql用DATE_FORMAT截取DateTime字段的日期值

    您可能感兴趣的文章:MySQL中日期比较时遇到的编码问题解决办法PHP以及MYSQL日期比较方法mysql 获取当前日期函数及时间格式化参数详解mysql unix准换时间格式查找指定日期数据代码MySql日期查询语句详解深入mysql ...

    2021年所有日期数据(区分周末、节假日、工作日) mysql 语句

    2021所有日期数据(区分周末、节假日、工作日) mysql 语句 insert 生成的节假日表 工作日:0 法定节假日:1 休息日加班:2 休息日:3 mysql2021日期数据全部.sql

    mysql命令语句大全.pdf

    ` 输出MySQL的版本号和当前日期。 9. **修改密码**:更新 `root` 用户密码的命令如下: ``` shell&gt; mysql -h localhost -u root -p mysql&gt; update user set password=password("newpassword") where user='root'...

    mysql修改语句

    在探讨“mysql修改语句”的知识点时,我们主要聚焦于SQL中的UPDATE语句,这是数据库管理中最常用的命令之一,用于修改已存在的数据行。在给定的文件信息中,可以看到一系列重复的UPDATE语句,其目标是将多个表...

    MySql日期查询语句详解

    MySQL中的日期查询是数据库操作中的常见任务,尤其是在处理与时间相关的数据时。本文将深入探讨如何在MySQL中使用各种日期函数来执行特定的日期查询。 首先,`DATE_FORMAT` 函数是一个非常有用的工具,用于按照...

    mysql查询语句汇总.zip

    这份"mysql查询语句汇总.zip"包含了丰富的学习资源,包括"mysql查询语句汇总.pdf"和"项目说明.pdf"两个文件,旨在帮助用户深入理解和掌握MySQL查询的各个方面。 首先,"mysql查询语句汇总.pdf"很可能是一个详细的...

    Mysql常用操作语句.

    Mysql提供了多种查询语句,用于查询数据库中的数据。基本语法格式为:SELECT 语句。 例如,查看Mysql版本号和服务器当前日期: ``` mysql&gt; select version(),current_date; ``` ### 2.2 创建数据库 创建数据库是...

    mysql 日期和时间格式转换实现语句

    下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql&gt; SELECT something FROM table WHERE TO_DAYS(NOW()) – TO_DAYS(date_col) &lt;= 30; DAYOFWEEK(date) 返回日期date的星期索引(1=星期天,2=...

Global site tag (gtag.js) - Google Analytics