Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Типы данных XML  [new]
ilya80let
Member

Откуда:
Сообщений: 24
Прошу помочь с XML. Отправляю небольшой отчет по почте, пример из MSDN.

DECLARE  @tableHTML  NVARCHAR(MAX)

SET @tableHTML =
    N'<H1>Ежедневный отчет по сотрудникам</H1>' +
	N'<table border="1">' +
    N'<tr><th>Сотрудник</th><th>Начало работы</th>' +
    N'<th>Конец работы</th><th>Время работы</th></tr>' +
    CAST ( (  
SELECT td=lower(vcName), '', 
td=cast(datetime1)as nvarchar(20)) +'Z' , '',

td=datetime2 , '',
td= 
convert(varchar,time3, 8)) 
FROM UserName t
where t.dEventTime between '20130401' and '20130601'
GROUP BY lower(vcName), CONVERT(VARCHAR(128), t.dEventTime, 104) order by lower(vcName)
              FOR XML PATH('tr'), TYPE 
    ) AS NVARCHAR(MAX) ) +
    N'</table>'


EXEC msdb.dbo.sp_send_dbmail
@body = @tableHTML,
    @body_format = 'HTML', ;


С XML работаю впервые, в письме он мне форматирует тип datettime к виду 2013-05-13T18:02:35, а тип строка к виду May 8 2013 8:40AMZ, мне хотелось бы оставить строкой вида 20.05.2013 08:00:00.
pupkina May 8 2013 8:40AMZ 2013-05-08T17:54:06 09:13:00
pupkina 2013-05-10T19:04:33
pupkina May 11 2013 10:43AMZ
pupkina May 13 2013 8:19AMZ 2013-05-13T18:02:35 09:43:00
pupkina May 14 2013 8:29AMZ 2013-05-14T18:02:44 09:33:00
pupkina May 15 2013 8:33AMZ 2013-05-15T18:38:11 10:04:00

И еще вопрос в прикрепленном файле видно что где нет данных, нету соответственно и рамок получается пустоты, может есть какой-нибудь стиль чтобы было типа сетки, без пустоты этой

К сообщению приложен файл. Размер - 139Kb
20 май 13, 16:54    [14322454]     Ответить | Цитировать Сообщить модератору
 Re: Типы данных XML  [new]
Glory
Member

Откуда:
Сообщений: 104751
ilya80let
С XML работаю впервые, в письме он мне форматирует тип datettime к виду 2013-05-13T18:02:35

Это стандарт такой

ilya80let
а тип строка к виду May 8 2013 8:40AMZ

Это не "он форматирует", это вы форматируете - td=cast(datetime1)as nvarchar(20)) +'Z'
20 май 13, 17:00    [14322514]     Ответить | Цитировать Сообщить модератору
 Re: Типы данных XML  [new]
ilya80let
Member

Откуда:
Сообщений: 24
case when cast(CONVERT(VARCHAR(30),datetime1),120)as nvarchar(20)) is null then 'нет данных' else cast(CONVERT(VARCHAR(30),datetime1),120)as nvarchar(20)) end

как то так, спасибо за подсказку
20 май 13, 18:01    [14322920]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить