Perfmon在直接登录SQL时创建数据库的方式并不那么友好:
select top 1 Convert(datetime, CounterDateTime) from CounterData
返回
Conversion failed when converting date and/or time from character string.
该单元格的值为“2012-01-25 14:12:10.802”。在选择期间将此转换为日期时间字段的正确方法是什么?
答案 0 :(得分:0)
我发现以下是有效的(而不是CHAR(24)
):
select top 1 Cast(Cast(CounterDateTime as CHAR(23)) as datetime) from CounterData
希望有更好的解决方案。
答案 1 :(得分:0)
没有更好的答案,但这会使味道变得微不足道。
CAST(CAST(CounterData.CounterDateTime AS CHAR(NN))AS DATETIME)AS CounterDateTime
还会截断该值,以便不需要将额外的T-SQL DateTime截断为分钟,小时等。
答案 2 :(得分:0)
CONVERT(DATETIME, SUBSTRING(CounterDateTime, 1, 23), 102)