mysql判断当前时间是否在开始与结束时间之间且开始与结束时间允许为空
目录
- 需求:查询进行中的活动数据
- 下面sql则查询的是满足以上四种需求的结果集,达标题需求
需求:查询进行中的活动数据
进行中一共有以下几种情况:
1.开始时间为空,结束时间为空, 此结果数据将永远为进行中的数据
2.开始时间为空,结束时间不为空,则当前时间在结束时间之前,为进行中的数据
3.开始时间不为空,结束时间为空,则当前时间在开始时间之后,为进行中的数据
4.开始时间不为空,结束时间不为空,则当前时间在开始与结束时间段之内的数据为进行中数据
下面sql则查询的是满足以上四种需求的结果集,达标题需求
SELECT * FROM 表名 WHERE 1=1 and(start_time is null or start_time<now()) and(end_time is null or end_time>now())
mybatis写法,开始时间与结束时间传入参数允许为空
如图所示:
<if test="record.startDate != null and record.startDate != '' or record.endDate != null and record.endDate != '' "> AND id in (select id from rht_product_price where 1=1 <if test="record.startDate != null and record.startDate != ''"> and start_date <= #{record.startDate,jdbcType=VARCHAR} </if> <if test="record.endDate!= null and record.endDate != ''"> and end_date >= #{record.endDate,jdbcType=VARCHAR} </if> ) </if>
到此这篇关于mysql判断当前时间是否在开始与结束时间之间且开始与结束时间允许为空的文章就介绍到这了,更多相关mysql判断当前时间是否在开始与结束时间之间内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
解析MySQL设置当前时间为默认值的方法
MySQL设置当前时间为默认值的问题我们经常会遇到,下面就为您介绍MySQL设置当前时间为默认值的实现全步骤,希望对您能有所启迪.数据库:test_db1创建表:test_ta1两个字段:id (自增 且为主键),createtime 创建日期(默认值为当前时间) 方法一.是用alert table语句: 复制代码 代码如下: use test_db1; create table test_ta1( id mediumint(8) unsigned not nulll
-
mysql中取系统当前时间,当前日期方便查询判定的代码
php中常通过下面的代码,得到判定日期的sql查询语句 复制代码 代码如下: $now = time(); //获取当期的日期 $sql="select * from `team` where end_time>$now ORDER BY sort_order limit 0,4"; 获取当前时间的MySql时间函数 处理MySql时间日期的函数有很多,下面为您介绍的就是用于获取当前时间的MySql时间函数,如果您对此感兴趣的话,不妨一看 下面为您介绍的MySql时间函数用于获取
-
在php MYSQL中插入当前时间
NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中. CURDATE()以'YYYY-MM-DD'的格式返回今天的日期,可以直接存到DATE字段中. CURTIME()以'HH:MM:SS'的格式返回当前的时间,可以直接存到TIME字段中. 例:insert into tablename (fieldname) values (now())
-
mysql判断当前时间是否在开始与结束时间之间且开始与结束时间允许为空
目录 需求:查询进行中的活动数据 下面sql则查询的是满足以上四种需求的结果集,达标题需求 需求:查询进行中的活动数据 进行中一共有以下几种情况: 1.开始时间为空,结束时间为空, 此结果数据将永远为进行中的数据 2.开始时间为空,结束时间不为空,则当前时间在结束时间之前,为进行中的数据 3.开始时间不为空,结束时间为空,则当前时间在开始时间之后,为进行中的数据 4.开始时间不为空,结束时间不为空,则当前时间在开始与结束时间段之内的数据为进行中数据 下面sql则查询的是满足以上四种需求的结果集,
-
php+MySQL判断update语句是否执行成功的方法
update语句是PHP+MySQL中常用的操作,判断update语句是否执行成功是其中非常重要的一个环节.本文就以实例展示了php+MySQL判断update语句是否执行成功的方法.分享给大家供大家参考之用.具体方法如下: 代码一: $rs=MySQL_query($sql); if(mysql_affected_rows()) echo "sql执行成功"; else echo "sql执行失败"; 代码二: <?php /* 连接数据库 */ mysql
-
Mysql判断表字段或索引是否存在
判断字段是否存在: DROP PROCEDURE IF EXISTS schema_change; DELIMITER // CREATE PROCEDURE schema_change() BEGIN DECLARE CurrentDatabase VARCHAR(); SELECT DATABASE() INTO CurrentDatabase; IF NOT EXISTS (SELECT * FROM information_schema.columns WHERE table_schem
-
MySql判断汉字、日期、数字的具体函数
几个平常用的mysql函数,MySql判断汉字.日期.数字的具体函数分享给大家,具体内容如下 1.判断字符串是否为汉字 返回值:1-汉字 0-非汉字 DROP FUNCTION IF EXISTS fc_is_hanzi; CREATE FUNCTION fc_is_hanzi( p_str VARCHAR(1024) ) RETURNS int(11) NOT DETERMINISTIC SQL SECURITY DEFINER COMMENT '检查字符串是否为汉字' BEGIN /*检查字
-
mysql判断表是否存在然后批量删除的操作
1.在网上找了许久都没有找到判断表是否存在,然后模糊删除的.但是最后找到了一个曲线救国的方法. 需求:删除表中后缀是 _待删除 的表 1.第一步,找到所有的这样的表,并且拼装好删除表的sql Select CONCAT( 'DROP TABLE IF EXISTS ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE '%_待删除'; 执行结果 2.第二步:去一一执行删除语句,有能力的可以去写一个脚本执
-
mysql 判断是否为子集的方法步骤
一.问题 故事起源于一个查询错漏率的报表:有两个查询结果,分别是报告已经添加的项目和报告应该添加的项目,求报告无遗漏率 何为无遗漏?即,应该添加的项目已经被全部添加 报告无遗漏率也就是无遗漏报告数占报告总数的比率 这里以两个报告示例(分别是已全部添加和有遗漏的报告) 首先,查出第一个结果--报告应该添加的项目 SELECT r.id AS 报告ID,m.project_id 应添加项目 FROM report r INNER JOIN application a ON r.app_id=a.id
-
MySQL判断时间段是否重合的两种方法
两种写法.如图,4种重合情况和2种不重合情况. 第一种写法: -- 时间段 a,b SELECT * FROM table WHERE (start_time >= a and end_time <= b) -- 被包含了 or (end_time >= a and end_time <=b) or (start_time >= a and start_time <=b) or (start_time <= a and end_time >=b) 解析:wh
-
mysql 判断记录是否存在方法比较
我这里总结了判断记录是否存在的常用方法: sql语句:select count(*) from tablename; 然后读取count(*)的值判断记录是否存在.对于这种方法性能上有些浪费,我们只是想判断记录记录是否存在,没有必要全部都查出来. 以下这个方法是我推荐的. sql语句:select 1 from tablename where col = col limit 1; 然后读取语句执行所影响的行数. 当然这里limit 1很重要.这要mysql找到一条记录后就不会在往下找了.这里执行
-
SQL Server、Oracle和MySQL判断NULL的方法
本文讲述SQL Server.Oracle.MySQL查出值为NULL的替换. 在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 Java代码 复制代码 代码如下: ISNULL ( check_expression , replacement_value ) ISNULL ( check_expression , replacement_value ) 参数 check_expression 将被检查是否为 NULL
-
mysql中如何判断当前是字符 mysql判断字段中有无汉字
使用length与char_length两个函数 length:是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符 char_length:不管汉字还是数字或者是字母都算是一个字符 对同一字段分别使用length.char_length计算长度,并进行比较长度相同则字段中无汉字,不相同则肯定有汉字 复制代码 代码如下: SELECT * FROM t_ad t WHERE t.`userid` = 974 AND LENGTH( REPLACE(REPLACE(t.`
随机推荐
- Linux下PHP安装mcrypt扩展模块笔记
- jQuery插件Slider Revolution实现响应动画滑动图片切换效果
- java 中模拟UDP传输的发送端和接收端实例详解
- JavaScript实现事件的中断传播和行为阻止方法示例
- cookie、session和java过滤器结合实现登陆程序
- Linux中的info指令详解
- PHP实时显示输出
- js css 实现遮罩层覆盖其他页面元素附图
- CentOS 安装NodeJS V8.0.0的方法
- jQuery中val()方法用法实例
- Mongodb常见错误与解决方法小结(Mongodb中经常出现的错误)
- 数据库修改多对多的中间表的记录的技巧
- [基础知识]Linux新手系列之二
- jQuery实现长按按钮触发事件的方法
- 最简单的jQuery程序 入门者学习
- Java实现栈和队列面试题
- 深入理解Vue 的条件渲染和列表渲染
- 剖析各类恶意网页对策分析—注册表使用全攻略之七
- vsFTPd 服务器初学者指南
- 深入剖析Java之String字符串