SQL存储过程System.getProperties().put("http.proxyHost", "someProxyURL");
System.getProperties().put("http.proxyPort", "someProxyPort");
System.getProperties().put("http.proxyUser", "someUserName");
System.getProperties().put("http.proxyPassword", "somePassword");
期望sp_add_jobschedule
格式的作业开始时间为HHMMSS
。当Int不存在前导0时,你应该如何保持这种格式?
我正在尝试以编程方式安排作业在触发后的2天内执行某些操作。
@ active_start_time =] active_start_time active_start_date和active_end_date之间的任何一天的时间,以开始执行作业。 active_start_time是int,没有默认值。时间格式为24小时制HHMMSS。
答案 0 :(得分:2)
int
上缺少的前导零并不是真正令人担忧的问题。在几个例子中:
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
每次,无论前导零,都是唯一的,并且可以重建到实际时间。检查这个的方法是通过以下方式:
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
所以,不要担心它被强制转换为int
值,只要将前导零点传递给proc即可。它最终仍然有用。
Execute sp_add_jobschedule ..., @active_start_time = 003000, ...
省略它们不会对proc的行为造成任何影响,但会导致混淆,试图阅读它。
答案 1 :(得分:0)
评论太长了。
我不确定问题是什么。 1:00 PM。将是130000.凌晨1:00将是100.这相当于000100.前导零不会出现在值的数字表示中。
如果要根据日期/时间变量构造值:
select datepart(hour, @t) * 10000 + datepart(minute, @t) * 100 + datepart(second, @t)