Die führenden Nullen sind auf der int
fehlt, ist nicht wirklich ein Problem. In ein paar Beispiele:
TIME HHMMSS INT
00:00:05 000005 5
00:01:15 000115 115
00:10:00 001000 1000
01:01:00 010100 10100
10:00:00 100000 100000
19:45:16 194516 194516
23:59:59 235959 235959
Jedes Mal, unabhängig von den führenden Nullen, ist einzigartig und kann zu der tatsächlichen Zeit rekonstruiert werden. Ein Weg, dies zu überprüfen, ist über die folgenden:
Declare @TimeTable Table
(
Time Int
)
Insert @TimeTable
Select 000005 Union All
Select 000115 Union All
Select 001000 Union All
Select 010100 Union All
Select 100000 Union All
Select 194516 Union All
Select 235959
Select Time Int,
TimeFromParts
(
Time/10000, --Hours
(Time % 10000)/100, --Minutes
((Time % 10000) % 100), --Seconds
0, --Fractions
0 --Precision
) As Time
From @TimeTable
Int Time
----------------
5 00:00:05
115 00:01:15
1000 00:10:00
10100 01:01:00
100000 10:00:00
194516 19:45:16
235959 23:59:59
Also, keine Sorge um ihn als int
Wert gegossen wird, ist es nur in den proc passiert auch bei der führende Nullen vorhanden. Es wird am Ende immer noch funktionieren.
Execute sp_add_jobschedule ..., @active_start_time = 003000, ...
Weglassen sie werden keinen Unterschied im Verhalten von der proc verursachen, aber es wird für Verwirrung stiften versucht, es zu lesen.
Das Speichern von 'TIME' als' INT' ist eine schlechte Idee. Warum nicht den Proc ändern, um eine 'TIME' zu akzeptieren? – scsimon
@scsimon Dies ist ein System gespeichert Proc - nicht etwas, was er schrieb oder steuern kann. – Siyual