我正在查询以这种格式返回日期的网络服务:Thu Jan 06 12:17:19 CST 2011
我需要将其转换为与SQL Server 2008兼容的日期时间值。任何想法?
答案 0 :(得分:0)
首先,您能否请求网络服务开发人员返回更加标准化的日期时间?最好是UTC还是类似的东西?
如果没有,您可以根据需要在SQL Server中执行此操作。您可以使用子字符串和一些假设来进行以下转换:
DECLARE @date nvarchar(50)
SET @date = 'Thu Jan 06 12:17:19 CST 2011'
PRINT @date
PRINT cast(right(@date, 4) + '/' +
substring(@date, 5, 3) + '/' +
substring(@date, 9, 2) + ' ' +
substring(@date, 12, 8) as datetime)
它确实假设月份将始终采用3个字符的格式。所有这一切的缺点是CST部分 - 如果他们返回的时间与您的时区不同,则时间无效。
运行此命令将返回:
Thu Jan 06 12:17:19 CST 2011
2011/01/06 12:17:19