如何在SQL查询中比较日期和日期数组并在MySQL中更新字段值?

Aravind:

我正在执行一项任务,在该任务中,我需要使用createdAtsla_name字段值找到解决票证的预期日期之后,我需要将此expected dateholidays表中的日期进行比较

如果expected date落入holidays,我需要扩展sla_name字段值。

这是查询正在使用。

SELECT t.sla_meet, t.tid, t.ticket_id, t.ticket_name,t.createdAt,t.updatedAt,t.status, dw.dropdown_name 
        as ticket_priority,p.project_name, dw3.dropdown_name as ticket_status,t.sla as sla_name, 
        isn.issue_name as issue_type,inn.incidentName as incident_type,t.ticket_accepted_date,
        t.asset_id,t.ticket_closed_date,t.contact_number, 
        IF(NOW() <= DATE_ADD(t.createdAt,INTERVAL (t.sla)+1 DAY),'YES','NO') AS slaMeetData 
        from tickets t 
        JOIN assets ast ON t.asset_id=ast.asset_id 
        JOIN projects p ON p.project_id=ast.project_id 
        JOIN admin_dropdowns dw ON t.ticket_priority=dw.id 
        JOIN admin_dropdowns dw3 ON t.ticket_status=dw3.id 
        JOIN issues isn ON t.issue_type=isn.issue_id 
        JOIN incident_names inn ON t.incident_type=inn.incidentId 
        order by t.tid DESC

这是以上查询的结果数据。

在此处输入图片说明 在此处输入图片说明

现在,我需要比较holidays上面的查询。样本数据是

在此处输入图片说明

如果IF上述查询处于预期的日期属于此日期holidays,我需要sla_nameCOUNT OF HOLIDAYS(如果startdata和enddate有,则需要计算它们之间的天数)+ sla_name来更新

如果预计日期在日期范围内(假期的开始和结束日期),则需要计算从预计日期到结束日期的天数,并在sla_name字段中更新该天数

是否可以在SQL中执行此功能?我已将以上查询用作VIEWS

kmoser:

代替t.sla AS sla_name,使用此表达式来确定是否将重叠假日的长度添加到天数中:

(
        t.sla + 
        IF(
            DATE_ADD(t.createdAt,INTERVAL (t.sla)+1 DAY) BETWEEN holidays.holiday_date AND holidays.end_date,
            DATEDIFF( holidays.end_date, holidays.holiday_date ), /* add holiday length number of days */
            0 /* no holiday overlap so don't add any days */
        )
) as sla_name

您还必须加入假期表中才能找到与所讨论的日期重叠的假期(如果有):

JOIN holidays ON ( DATE_ADD(t.createdAt,INTERVAL (t.sla)+1 DAY) BETWEEN holidays.holiday_date and holidays.end_date )

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在SQL查询中比较日期?

如何比较日期数组值

如何在Python中比较日期和日期时间?

查询中的日期数组

如何在Oracle中比较一组行的最大日期和最小日期的列值?

如何在mongodb查询中查找和更新字段的最小值?

在SQL Server中比较日期和日期

如何在Postgresql的datetime字段中比较日期?

如何在查询中比较两个日期和时间

MongoDB聚合管道:如何在数组中比较字符串和日期

如何在SQL中比较和使用datetime格式中的仅时间?我的插入以日期时间格式给出

如何在选择查询中比较多列和多字段数组?

如何在熊猫中比较日期和字符串?

如何在PHP中比较日期和字符串

如何在Oracle中比较日期和时间

如何在SQL Server中获取“完成年份”的星期数,开始日期和结束日期?

如何在SQL中比较2转换日期

如何在php mysql中的日期字段中仅比较年份和月份

如何在swift 3中将日期数组(字符串)与单个日期进行比较

MariaDB 和 MySQL 中比较日期的差异

如何在mongodb中查找日期字符串或对象而不是日期数字字段来查找查询?

您如何在Java中比较日期,上一个日期和将来的日期?

如何在mysql查询中比较两个数组?

如何在xsl中比较日期的年份?

如何在Swift中比较日期的时间?

如何在Java中比较日期?

如何在Javascript中比较日期时间?

如何在sqlalchemy中比较日期?

如何在Django模板中比较日期