Отображение даты и времени CAST в формате RFC822

Я хотел бы отобразить дату и время CAST в таблице SQL, используя формат RFC822 (например: Fri, 19 Nov 2010 13:43:39) из следующего SELECT (часть более крупного оператора, найденного здесь)

*_snip_*

,(Select Cast(Cast(FieldValue as nvarchar(max)) as DateTime) 
  from dbo.UserDefinedData where UserDefinedFieldId = 298 
  and UserDefinedRowId = item.UserDefinedRowId) as [pubDate] 

Бит SQL ниже извлечет текущую дату в желаемом формате.

Как я могу интегрировать его в приведенное выше утверждение (или есть лучший способ достичь моей цели)?

select left(datename(dw,getdate()),3)+', '+convert(varchar(20),getdate(),113)  

person JDV    schedule 19.11.2010    source источник


Ответы (1)


person    schedule
comment
[FieldValue] имеет значение ntext, и я получаю конфликт типа операнда: ntext несовместим с ошибкой даты и времени. (Я бы заранее упомянул, что это ntext, но я не знаком с отношениями типов данных. Это из таблицы основного модуля DotNetNuke, и я хотел бы по возможности избегать изменения типов данных). - person JDV; 19.11.2010
comment
Запрос выполняется успешно, но по какой-то причине он меняет только некоторые даты. (2010-04-03 00:00:00.000 становится сб, 03.04.2010, а 2010-04-10 00:00:00.000 становится сб, 2010-04-10T00:00:00) - person JDV; 20.11.2010
comment
03.04.2010 00:00:00.000 становится субботой, 03.04.2010 00:00:00., а 00:00:00.000 04.04.2010 становится субботой, 10.04.2010 00:00:00. Это SQL Server, верно? Вы уверены, что в значениях нет ничего другого? - person Stu; 20.11.2010
comment
SQL-сервер, да. Я смотрю на таблицу, это полные значения. Тот факт, что вывод не выглядит как 113, также является странным. Спасибо за работу над этим. - person JDV; 20.11.2010
comment
Запустите это: объявите @fieldvalue varchar (500) set @fieldvalue = '2010-04-10 00:00:00.000' Выберите left (datename (dw, cast (@ fieldvalue as nvarchar (50))), 3) +', '+ convert(varchar(20),cast(@fieldvalue as nvarchar(50)),113) - person Stu; 20.11.2010
comment
Выполнение этого запроса дает мне Sat, 2010-04-10 00:00:00. - person JDV; 22.11.2010
comment
Любые мысли относительно несоответствия (2010-04-03 00:00:00.000 становится субботой, 03.04.2010, а 2010-04-10 00:00:00.000 становится субботой, 2010-04-10T00:00:00), или почему формат даты 113 (пт, 19 ноября 2010 г. 13:43:39) не приводит? - person JDV; 30.11.2010