Mysql 查询今天的某些时间之外的数据

SELECT * FROM `attendancealert`
WHERE DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(`AlertTime`)),‘%Y-%m-%d‘) = DATE_FORMAT(NOW(), ‘%Y-%m-%d‘)   //先将日期格式转成时间戳 然后时间戳转成Y-m-d的时间格式然后 和今天的Y-m-d的时间进行对比
AND DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(`AlertTime`)),‘%h:%i‘) NOT BETWEEN ‘09:00‘ AND ‘10:30‘    //不在这个时间段
ORDER BY `AlertTime`  DESC

  //我直接把时间转成时间类型不就可以了????

SELECT * FROM `attendancealert` 

WHERE   DATE_FORMAT((`AlertTime`),‘%Y-%m-%d‘)= DATE_FORMAT(NOW(), ‘%Y-%m-%d‘) 

AND DATE_FORMAT((`AlertTime`),‘%h:%i‘) NOT BETWEEN ‘09:00‘ AND ‘10:30‘
ORDER BY AlertTime ASC

原文地址:https://www.cnblogs.com/wlphp/p/10195682.html

时间: 2024-12-13 06:34:00

Mysql 查询今天的某些时间之外的数据的相关文章

MYSQL查询今天昨天本周本月等的数据

mysql查询本季度 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT *FROM表名WHERE TO_DAYS( NOW( ) ) – TO_DAYS( 时间字段名) <= 1 7天 SELECT *FROM表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名) 近30天 SELECT *FROM表名 where DATE_SUB(CURDA

查询两个日期(时间)以内的数据,between and 或 and 连&gt;= &lt;=,to_date()

between and 方法 Sql代码   select * from kk.kkhmd where larq between(to_date('2008-9-3','yyyy-mm-dd')) and (to_date('2008-9-5','yyyy-mm-dd')) 用and连接 >= <= 方法 Sql代码   select * from kk.kkhmd where larq>=to_date('2008-9-3','yyyy-mm-dd') and larq <=to

MySQL 查询某一字段为数字的数据

(user_id REGEXP '[^0-9.]') = 0 为 纯数字 (user_id REGEXP '[^0-9.]') = 1 为非数字 原文地址:https://www.cnblogs.com/wangshuazi/p/10300742.html

Mysql查询时间优化

select  count(*) from table where buytime>='2011-5-31 00:00:00' and buytime<='2011-6-6 23:59:59' group by itemname select  count(*) from table where buytime>=unix_stamp('2011-5-31 00:00:00') and buytime<=unix_stamp('2011-6-6 23:59:59') group b

MySQL查询,关于日期和时间戳,查询时间的记录

一. 日期与时间戳数据库日期写入大多数用的是时间戳格式,我们在查询的时候可能不是很方便mysql提供了两个函数: from_unixtime(time_stamp) -> 将时间戳转换为日期 mysql> select from_unixtime(create_time) from tag limit 10; +----------------------------+ | from_unixtime(create_time) | +----------------------------+

MySQL字符串函数、日期时间函数

MySQL字符串函数.日期时间函数 一.常见字符串函数: 1.CHAR_LENGTH  获取长度(字符为单位) 2.FORMAT  格式化 3.INSERT  替换的方式插入 4.INSTR  获取位置 5.LEFT/RIGHT  取左.取右 6.LENGTH   获取长度(字节为单位) 7.LTRIM/RTRIM/TRIM 去空格(左/右/自定义) 8.STRCMP  字符串比较 9.CONCAT  字符串拼接 10.SUBSTRING  字符串截取 1.CHAR_LENGTH:获取长度(字符

Mysql查询缓存碎片、缓存命中率及Nagios监控

Mysql 的优化方案,在互联网上可以查找到非常多资料,今天对Mysql缓存碎片和命中率作了详细了解,个人作了简单整理. 一.Mysql查询缓存碎片和缓存命中率. mysql> SHOW STATUS LIKE 'qcache%'; +-------------------------+-----------+ | Variable_name | Value | +-------------------------+-----------+ | Qcache_free_blocks | 5 |

MYSQL查询性能优化

查询的基础知识 MySQL查询过程如下图所示: MySQL是通过查询语句的哈希查找来命中缓存的,需要注意的是如果查询语句大小写不一致或者有多余的空格,是不会命中缓存的. 一个查询通常有很多执行方式,查询优化器通过计算开销(随机读取次数)来选择最优的查询. MySQL把所以的查询都当做联接来处理,联接是按照循环嵌套的策略来执行的,如下图所示: 查询的优化和限制 我们需要知道查询优化器会做哪些优化,这样在写查询的时候就可以不需要考虑手动来做这些优化,把这些事情交给查询优化器去做是更好的选择,查询优化

mysql 查询当天、昨天、本周、上周、本月、上月、今年、去年数据

mysql 查询当天数据 mysql查询今天.昨天.7天.近30天.本月.上一月 数据 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) = 1 近7天 SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名) 查询当