我们使用的一个愚蠢的第三方软件将datetime存储为varchar有一些很好的原因,我需要将其解析为sql datetime。问题是,当字符串为mm / dd / yy格式时,作为datetiem的普通CAST()工作正常,但我的数据格式为dd / mm / yy,CAST抛出
导致将varchar数据类型转换为日期时间数据类型 在超出范围的价值。
异常。使用CONVERT或CAST进行操作的提示,而不使用RIGHT()/ LEFT()等?
由于
答案 0 :(得分:1)
一种选择是在执行转换之前使用SQL Server的SET DATEFORMAT设置。 e.g。
-- Set date format to day/month/year.
SET DATEFORMAT dmy;
GO
DECLARE @datevar datetime2 = '31/12/2008 09:01:01.1234567';
SELECT @datevar;
GO