我的任务是创建一个查询,比较表中的两列以查看计划策略的名称是否与计划运行备份的时间相关。目前,我已经想出了唯一的方法,我知道如何去做,而且有48个选择语句用于备份时间,如下面的查询。我认为可能有更好或更快的方法来做到这一点,但这可能超出我对SQL查询的知识。用于比较两列中的所有行的SQL查询
SQL查询:
select
schedulePolicy, scheduleName, schedbackuptype,
schedbackupday, schedbackupTime
from
commserv.dbo.CommCellBKScheduleSummary
where
schedulePolicy like '%00:00%'
and schedbackupTime not like '%00:00%'
or schedulePolicy like '%01:00%'
and schedbackupTime not like '%01:00%'
实例计划策略
正确的调度策略:
schedulePolicy: 01_SUN_Full 00:00
schedbackupTime: 00:00
不正确的调度策略:
schedulePolicy: 01_MON_Full 00:00
schedbackTime: 02:00
输出为查询上面应显示下面的输出,因为备份计划在不正确的时间运行。
schedulePolicy: 01_MON_Full 00:00
scheduleName: Full
schedbackuptype: Full
schedbackupday: Monday
schedbackupTime: 02:00
编辑你的问题,显示两列的样本值。 –
您是否将时间戳值存储为字符?!?改用适当的数据类型!还标记使用dbms,因为它们中的许多在日期/时间方面远不符合ANSI SQL标准。 – jarlh
我编辑了问题的主体,将示例计划策略放入代码块中,并删除了谢谢。有关更多信息,请参阅Meta Stack Exchange上的[本文](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be-removed-from-posts)。 – theB