首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何安排工作时间?

如何安排工作时间?
EN

Stack Overflow用户
提问于 2013-12-30 08:58:37
回答 3查看 593关注 0票数 0

我有一份安排好的工作,时间是凌晨12:45。现在通过SP,我想得到这一次。我正在SP中运行这个查询:

代码语言:javascript
复制
    EXEC msdb.dbo.sp_help_job
    @job_name = N'Daily Trends',
    @job_aspect = N'SCHEDULES' ;

此查询显示一个列的结果。

代码语言:javascript
复制
 active_start_time
    4500

预期输出: 12:45:00

请你建议一下如何显示上午/下午的时间。

编辑:,我从c#代码中调用这个SP。如果有人能建议我如何在c#代码中以适当的格式转换时间也将是有帮助的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-30 10:04:34

由于时间值似乎存储为HHMMSS,而HH是可选的,所以我认为您需要检查字符串的长度是否为四个字符(或者如果值超过115959,以速度更快为准)。这样的查询应该有效:

代码语言:javascript
复制
SELECT CASE 
         WHEN Len(active_start_time) = 4 THEN Cast( 
         Dateadd(minute, active_start_time / 
                         100, '00:00') AS TIME) 
         ELSE LEFT(RIGHT('0' + Cast(active_start_time AS VARCHAR), 6), 2) 
              + ':' 
              + Substring(RIGHT('0' + Cast(active_start_time AS VARCHAR), 6), 3, 
              2) 
              + ':' 
              + RIGHT(Cast(active_start_time AS VARCHAR), 2) 
       END AS [Start time] 
FROM   msdb..sysschedules 
       INNER JOIN msdb.dbo.sysjobschedules 
               ON msdb.dbo.sysjobschedules.schedule_id = 
                  msdb..sysschedules.schedule_id 
       INNER JOIN msdb.dbo.sysjobs 
               ON msdb.dbo.sysjobs.job_id = msdb.dbo.sysjobschedules.job_id 
WHERE  msdb.dbo.sysjobs.name = 'Daily Trends' 

我没有用那么多的值测试它,但我认为它应该有效,或者至少给您一个关于如何继续的提示。直接访问msdb表可能是个坏主意,如果我记得正确的话,有一些视图可以访问类似的信息,最好使用它们。

票数 0
EN

Stack Overflow用户

发布于 2013-12-30 09:26:41

因此,为了使数据看起来像HH:MM:SS格式,下面的SQL可以工作:

代码语言:javascript
复制
SELECT LEFT(RIGHT('0' + Cast(active_start_time AS VARCHAR), 6), 2) 
       + ':' 
       + Substring(RIGHT('0' + Cast(active_start_time AS VARCHAR), 6), 3, 2) 
       + ':' 
       + RIGHT(Cast(active_start_time AS VARCHAR), 2) 
FROM   msdb..sysschedules 
票数 0
EN

Stack Overflow用户

发布于 2013-12-30 09:28:58

您可以使用same计划表,但是日期是相同的。

这个博客应该有助于解析日期/时间:

http://blog.sqlauthority.com/2008/12/22/sql-server-find-next-running-time-of-scheduled-job-using-t-sql/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20836315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档