我需要将时间
值转换为整数
值。
例如:如果时间
值为'07:00 PM'
,我需要将其转换为19
。
我尝试过以下查询来实现此目的。
select CAST(substring(CONVERT(varchar,convert(smalldatetime,'07:00 PM'),114), 1,2) as int) as VALUE
它返回了我想要的输出。但在处理大交易时,它需要太多时间。有人能建议一个替代方案(也许是简单的)吗?
我不能使用datepart(hour, 'timevalue')
。因为有带有时间值'00:00 AM'
和'00:00 PM'
的数据,这会导致转换错误。在这种情况下,我需要返回值为0
。