2014-12-29 4 views
0

Как я могу convert формат даты в SQL Server 2008?Как преобразовать формат даты в SQL Server 2008

SELECT 
    Dateadd(DAY, (SELECT MaxCheckday 
       FROM tbl_LibryMemberCategory 
       WHERE IsDeleted = 'N'), Getdate()) 

Во время работы над запросом я получаю эту ошибку

Msg 242, уровень 16, состояние 3, строка 1
Преобразования типа VARCHAR данных к типу DateTime данных привело к вне диапазона.

+1

вы можете изменить вопрос с результатом 'выберите MaxCheckday из tbl_LibryMemberCategory где IsDeleted = 'N''and нет формата converstion происходит в вашем запросе. –

+0

Каков тип данных возврата MaxCheckDay? – agentpx

+0

MAXCHECKDAY RETURN «7 DAYS» VAIUES – krishna

ответ

0

MaxCheckDay должно быть 7, а не «7 ДНЕЙ».

SELECT Dateadd(dd,(SELECT MaxCheckday 
      FROM tbl_LibryMemberCategory 
      WHERE IsDeleted = 'N'), Getdate()) 
+0

Вы не можете использовать одинарные кавычки в аргументе 'Datepart', и это не решит проблему OP, а не мой DV. FYI вам не нужно использовать« Двойные кавычки »также в аргументе Datepart –

+0

SELECT DATEADD (DD (выберите MaxCheckday с tbl_Libr yMemberCategory, где IsDeleted = 'N'), convert (varchar (20), GETDATE(), 103)) "ERROR GIVEN" – krishna

+0

Извините, что ok попробуйте сейчас – agentpx

0

Если не ошибаюсь, это то, что вы пытаетесь достичь

SELECT CONVERT(VARCHAR(20), Dateadd(Day, MaxCheckday, Getdate()), 103) 
FROM tbl_LibryMemberCategory 
WHERE IsDeleted = 'N' 

Проблема в запросе выполняет Dateadd после Convertion. Попробуйте запустить ниже, вы получите ту же ошибку

SELECT Dateadd(day,1, convert(varchar,Getdate(),103)) 
+0

OP спросить, что ему нужно преобразовать не результирующие строки – agentpx

+0

@agentpx что использовать преобразование внутри 'Dateadd' Функция –

+0

SELECT DATEADD (DD , (выберите MaxCheckday из tbl_LibryMemberCategory, где IsDeleted = 'N'), convert (varchar (20), GETDATE(), 103)) «Этот подзапрос также использовался« – krishna

Смежные вопросы