Я пытаюсь преобразовать строку в дату в t-sql. Однако получите результаты, которые я не могу объяснить.
DECLARE @String as char(11)
DECLARE @TString as char(11)
SELECT @String = SUBSTRING([Flat File Source Error Output Column],1,CHARINDEX(',',[Flat File Source Error Output Column])-6)
FROM [ERROR].[Import_V2X]
SELECT @TString = '12/18/2009'
-- Check content before conversion
SELECT @TString as 'CheckTString'
SELECT @String as 'CheckString'
-- Convert the strings to date
SELECT CONVERT(date,@TString,101) as 'ConvertSuccess'
SELECT CONVERT(date,@String,101) as 'ConvertFails'
[Столбец вывода ошибки источника плоского файла] определяется как текст в таблице
Это дает мне следующий результат:
CheckTString
------------
12/18/2009
(1 row(s) affected)
CheckString
-----------
12/18/2009
(1 row(s) affected)
ConvertSuccess
--------------
2009-12-18
(1 row(s) affected)
ConvertFails
------------
Msg 241, Level 16, State 1, Line 16
Conversion failed when converting date and/or time from character string.
Кто-нибудь может объяснить мне, где проблема или откуда?
Для меня строки выглядят точно так же: (