Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
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] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104751 |
Это стандарт такой
Это не "он форматирует", это вы форматируете - td=cast(datetime1)as nvarchar(20)) +'Z' |
||||
20 май 13, 17:00 [14322514] Ответить | Цитировать Сообщить модератору |
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 | ![]() |