正确比较时间值

何塞·米格尔·莱顿

我在比较MySQL时间字段时遇到麻烦,我有一个从NO开始的NOEVENTS行09:0010:00并且我试图在另一张表中插入一行,但是我需要将NOEVENTS时间与传入的Time字段进行比较。例:

我想从插入一个事件09:1509:30,另一个是10:0011:00,所以我怎么能比较呢?我正在尝试这个:

select count(idNOEVENTS) into existNOEVENT from NOEVENTS  b where eventInitialTime && eventFinalTime between b.initialTime and b.finalTime;
if existNOEVENT>0
SET MESSAGE_TEXT = 'Error! no events allowed at this time';

问题是当我尝试将to插入09:1509:30,它会抛出上面显示的错误消息。没关系,它可以工作,但是当我尝试插入10:00to11:00事件时,它会抛出味精,但它不应该,该如何解决呢?还是比较好?

谢谢,对不起,我英语不好。

术语

你可以这样

SELECT *
  FROM noevents
 WHERE (? > initialTime AND ? < finalTime)
    OR (? > initialTime AND ? < finalTime)

现在不用COUNT(*)检查行是否存在。使用EXIST()代替。

话虽这么说,但您的程序代码可能看起来像这样

DELIMITER $$
CREATE PROCEDURE add_event(IN _start TIME, IN _end TIME)
BEGIN  
  IF EXISTS(SELECT *
              FROM noevents
             WHERE (_start > initialTime AND _start < finalTime)
                OR (_end > initialTime AND _end < finalTime)) THEN
    SIGNAL sqlstate '45000' 
      SET message_text = 'Error! no events allowed at this time';
  ELSE
    -- Do whatever you have to do to insert an event
    SELECT 'Success: event added';
  END IF;
END$$
DELIMITER ;

这是SQLFiddle演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将日期时间值与空值进行比较时日期时间值不正确

来自分类Dev

SQLite比较时间值

来自分类Dev

比较地图并返回正确的值

来自分类Dev

Linq 比较日期时间值

来自分类Dev

比较日期时间对象。正确的方式

来自分类Dev

比较对象不会返回正确的值

来自分类Dev

元素值比较的结果不正确

来自分类Dev

如何正确比较整数和浮点值?

来自分类Dev

日期时间值和系统日期时间的比较失败

来自分类Dev

C#无法正确比较两个日期时间

来自分类Dev

PHP是否支持正确的时间比较if语句?

来自分类Dev

比较日期时间的SQL语句中的语法不正确

来自分类Dev

Java时间戳,无法获取正确的值

来自分类Dev

休眠日期时间值不正确

来自分类Dev

警告:#1292不正确的时间值

来自分类Dev

MongoDB日期时间值未正确存储

来自分类Dev

MySQL日期时间值不正确

来自分类Dev

将时间值与sis中的值进行比较

来自分类Dev

如何从Google Spreadsheet读取正确的时间/持续时间值

来自分类Dev

为什么我的Linq Oracle DB查询无法正确比较时间戳和日期时间?

来自分类Dev

如果比较两个时间(例如12:00和11:59),Python日期时间比较是不正确的

来自分类Dev

bash字符串与多个正确值进行比较

来自分类Dev

javascript上的值比较,但显示不正确的结果

来自分类Dev

jQuery字符串比较返回不正确的值?

来自分类Dev

如何单独比较日期时间值中的日期部分

来自分类Dev

比较iOS中的两个时间值?

来自分类Dev

awk无法将时间与定义的值进行比较

来自分类Dev

用于计算比较连续时间段的值的功能

来自分类Dev

在SQL中使用运算符之间的时间值比较

Related 相关文章

热门标签

归档