我有一个问题,我试图显示单日IE特定时间范围内的升级,我想根据升级的优先级查看今天的所有升级。

SELECT tas.TASK_ID as TICKET, 
tas.TASKNAME,
chg.ASLOGID as ASSIGNEE,
DATEADD(SECOND, logs.SUBMIT_DATE , '19700101') as SUBMIT_DATE,
tas.PRIORITY,
FROM dbo.TASK as tas,
dbo.CHANGE as chg,
dbo.WORKLOG as logs
WHERE chg.ASLOGID in ('Some Users')
and tas.TASKNAME like ('Escalation%')
and chg.CHANGE_ID = tas.TASK_ID
and logs.CHANGE_ID = chg.CHANGE_ID
and logs.SUBMIT_DATE = 
    (Select MAX(logs2.SUBMIT_DATE) from dbo.WORKLOG as 
    logs2 where logs2.CHANGE_ID = logs.CHANGE_ID)
    and DATEADD(SECOND, logs.SUBMIT_DATE , '19700101') < DATEADD(DD, CASE WHEN 
    tas.PRIORITY = 0 THEN -1
    WHEN tas.PRIORITY = 1 THEN -2
    WHEN tas.PRIORITY = 2 THEN -4
    ELSE -6 END, CURRENT_TIMESTAMP)
Order by SUBMIT_DATE

我所查询的内容似乎在主目录中有效,但是我不确定Second Max Select是否正常运行。 发生的事情是,我可以在一天开始时看到一些升级,但是一旦在一天的晚些时候清除了这些升级,昨天下午16:30在屏幕EG上又弹出了另一个屏幕,随后出现了升级。 据我所知,PRIORITY不变。

+-----------------+-------------+----------+---------------------+----------+
|     TICKET      |  TASKNAME   | ASSIGNEE |     SUBMIT_DATE     | PRIORITY |
+-----------------+-------------+----------+---------------------+----------+
| INC000012345678 | Escalation  | User1    | 11/06/2018 09:41:51 |        1 |
+-----------------+-------------+----------+---------------------+----------+

正如我已经说过的那样,我正在尝试当天可能发生的所有升级,并且我很欣赏这个问题可能与dateadd秒有关,然后试图计算dateadd天数,但是我希望上述事件在09年之后会出现:41? 我对此还比较陌生,因此我可能对它的工作方式有些天真。

感谢您正确地做到这一点,并预先感谢。

#1楼 票数:0

解决:

and CAST(DATEADD(SECOND, logs.SUBMIT_DATE , '19700101') as DATE) < DATEADD(DD, CASE WHEN 
tas.PRIORITY = 0 THEN -1
WHEN tas.PRIORITY = 1 THEN -2
WHEN tas.PRIORITY = 2 THEN -4
ELSE -6 END, CURRENT_TIMESTAMP) 

  ask by nixxrite translate from so

未解决问题?本站智能推荐:

3回复

DATEADD函数的问题

我根据日期和年份在SQL中进行了大量计算。 当我在日期中添加月份时,它不会根据日期添加,主要是添加3个月(即该功能的功能)。 例如SELECT DATEADD(month, 4, '2016-10-25') 。 这正在获取我期望的是2017-02-25 但是当我这样做时DATEADD
1回复

SQL语法DATEADD的问题

好吧,我一直试图让这个特定的代码^工作,但我无法弄清楚dateadd语法。 它看起来是我对谷歌的研究,但我总是得到错误ORA-00923:FROM关键字未找到预期的位置 这通常是我的一些小错误,但我找不到约20分钟后找到它。 任何人都可以指出可能盯着我的错误
1回复

DATEADD计算

如何在DATEADD()中对MONTH datepart进行计算 添加月份 结果 减去月份 结果 当我29,30,31 of Jan'2012年1 February 29 29,30,31 of Jan'2012 ,31日期添加月份时,我得到与February 29相同的结果
1回复

SQL-If语句内DateAdd

我对SQL极为陌生,但真的很喜欢它,并且想要变得更好。 在我的代码中,我将3个表合并在一起,然后为该合并创建一些列。 我创建了一个“ DaysOfStock”列,并希望将每列中的数字添加到当前日期。 问题是“ DaysOfStock”是一个“ if”函数,我不确定如何将其添加到“ Day
2回复

DATEADD与月和日的差异

当我需要从DATETIME对象截断时间时,通常使用 而且效果很好。 最近,我需要从DATETIME字段获取每月的第一天,所以我使用了 而且我从查询中得到的结果很奇怪,所以实际上我自己尝试了一下,瞧瞧-错误的答案! 我在1903年得到一个约会。浏览文档时,我看到它“应该”实际上是
1回复

按dateadd和datediff分组日期

我正在尝试按期间将一堆日期分组,即“月” 首先,我声明表: 然后我查询按期间(大小=精度*月)分组的条目 结果: 一切正常,直到测试5: 第一行很烦人,我需要像以前的精度一样从2014年1月1日开始 有什么办法可以解决这个问题?
2回复

如何使用Dateadd和DateDiff在SQL中编写变量来查找上个月的最后两天

我正在尝试使用显示上个月最后两天的dateadd和datediff来编写变量。 一个变量将是上个月的倒数第二天,即我遇到麻烦的变量。 另一个将是上个月的最后一天,也就是我能得到的那一天。 我正在使用SQL Server。 我已经尝试在Stack上寻找它,我只看到了上个月的最后一天,而不
1回复

SQL-特定的DATEADD要求

我有三个DM_EVENT.event_code : 我需要使用日期参数来选择所需的最新报告日期(在本示例中为'4/28/15' ),以拉出截至该日期的SUM(DM_DAILYCOST.cost_per_item) 。 使用选定的日期可以选择'CMP'和'WOV' 。 但是,对于代码'D