在MSSQL建立系統日誌時,有一個Table叫做[sysjobschedules],其中欄位[next_run_date]及[next_run_time]定義為int,與一般常使用的Datetime不同,於是使用Convert轉換,語法如下。
SELECT [schedule_id]
,[job_id]
,[next_run_date]
,[next_run_time]
,case when next_run_date = 0
then null
else CONVERT(DATETIME, CONVERT(NVARCHAR(4), [next_run_date] / 10000) + '-' +
CONVERT(NVARCHAR(2), [next_run_date] % 10000 / 100) + '-' +
CONVERT(NVARCHAR(2), [next_run_date] % 100) + ' ' +
CONVERT(NVARCHAR(2), [next_run_time] / 10000) + ':' +
CONVERT(NVARCHAR(2), [next_run_time] % 10000 / 100) + ':' +
CONVERT(NVARCHAR(2), [next_run_time] % 100), 120)
end datetime
FROM [msdb].[dbo].[sysjobschedules]
本文详细介绍了在MSSQL中如何将sysjobschedules表中的next_run_date和next_run_time字段从int类型转换为datetime类型,包括具体的SQL语句和转换逻辑。
1138

被折叠的 条评论
为什么被折叠?



