Я знаю, что такие вопросы уже здесь, на SO, но мой вопрос немного отличается от уже существующих вопросов.Datetime to varchar error error
Сценарий: база данных имеет столбец ApptDt типа DateTime со значениями в формате «yyyy-mm-dd hh: mm: ss». Я из Индии, и даты проходят в европейском формате «dd-mm-yyyy». Поэтому каждый раз, когда я получаю эту ошибку:
The Conversion of a Varchar Datatype to a datetime results in an out of range value
Образец запроса 1:
Declare @EffectiveDt as varchar(29)
Set @EffectiveDt = '27/07/2013'
print Convert(DateTime,@EffectiveDt,102) // throws above error
Пример запроса 2:
Declare @EffectiveDt as varchar(29)
Set @EffectiveDt = '07/27/2013'
print Convert(DateTime,@EffectiveDt,104) // throws above error too
Вопрос:
двух форматов действительны, и преобразования допускаются в T-Sql ; почему возникают такие ошибки?
Есть ли какие-либо общие функции или сценарии для хранения таких преобразований внутри SQL?
'CONVERT' предполагается использовать для преобразования из' datetime' в различные форматы 'char/varchar'. Второй параметр CONVERT должен иметь тип datetime. – cars10m
@ cars10 AFAIK Convert() Преобразует выражение одного типа данных в другое в SQL Server. –
Пожалуйста, не включайте инструкции по голосованию или закрытию в своем вопросе. Каждый, кто может заработал право голоса/закрытия по своему усмотрению. –