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

Откуда:
Сообщений: 271
Подскажите, можно как-то отформатировать значения в колонке дат, чтобы они разместились по центру, а не по левому краю?
+
insert into @t (Договор,Дата_договора,Дата_начала,Дата_окончания,Дата_пр,СП)
select * from qwe;
 
declare @query1 nvarchar(max)
  set @query1 = 
       N'<table>' +
       N'<tr><th>Договор</th><th>Дата_договора</th><th>Дата_начала</th><th>Дата_окончания</th><th>Дата_пр</th><th>СП</th></tr>'+
       cast( (select  
               td = Договор, '',
               td = convert(nvarchar(12),[Дата_договора],(104)), '',
               td = convert(nvarchar(12),[Дата_начала],(104)), '',
               td = convert(nvarchar(12),[Дата_окончания],(104)), '',
               td = convert(nvarchar(12),[Дата_пр],(104)), '',
               td = СП , ''
            from @t
            for xml path ('tr'), type) as nvarchar (max)) +
        N'</table>'
        
 
 
exec sp_send_dbmail
@recipients =  'aa',
@body_format = 'HTML',
@subject = N'Проверка:',
@body = @query1;


К сообщению приложен файл. Размер - 61Kb
25 фев 15, 15:42    [17310868]     Ответить | Цитировать Сообщить модератору
 Re: html форматирование в sp_send_dbmail  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#newwindow=1&q=html reference
25 фев 15, 15:43    [17310871]     Ответить | Цитировать Сообщить модератору
 Re: html форматирование в sp_send_dbmail  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
2viper2viper
Подскажите, можно как-то отформатировать значения в колонке дат, чтобы они разместились по центру, а не по левому краю?

Почитайте про HTML-разметку, примените это на практике.
Все просто. Самое сложное для меня в HTML-формате для send_mail оказалось изображение на странице.
Долго бился, не мог понять какой указывать путь, а оказалось, что просто в сообщении добавляешь
<img src="PICTURE.JPG" alt="..." />

А саму картинку... аттачишь к письму.
25 фев 15, 17:00    [17311430]     Ответить | Цитировать Сообщить модератору
 Re: html форматирование в sp_send_dbmail  [new]
user89
Member

Откуда:
Сообщений: 2083
2viper2viper,

Так?
set nocount on

declare @t table(Договор Nvarchar(500), Дата_договора datetime, Дата_начала datetime, Дата_окончания datetime, Дата_пр datetime, СП Nvarchar(500))
insert @t values (N'Хороший договор', '20150120', '20150122', '20150301', '20150228', N'Оливер Куин'),
(N'Средний договор', '20150215', '20150216', '20150322', '20150228', N'Малькольм Мерлин'),
(N'Плохой договор', '20150206', '20150228', '20150401', null, N'Слэйд Уилсон')
select * from @t

declare @s Nvarchar(max)
select @s = '<html>' +char(10)+
'<style type="text/css">' + char(10) +
'table {border: 1px solid #b9c0d4; border-collapse: collapse;}' +char(10)+
'td, th {border: 1px solid #cccccc; padding:2px 4px}' +char(10)+
'.cntr {text-align:center;}' +char(10)+
'</style>' +char(10)+
'<body><br><table>' +char(10)+
N'<tr><th>Договор</th><th>Дата_договора</th><th>Дата_начала</th><th>Дата_окончания</th><th>Дата_пр</th><th>СП</th></tr>' + char(10) + (
  select '<tr> <td>' +
  isnull([Договор],'&#160') + '</td><td class="cntr">' +
  isnull(convert(char(10),Дата_договора,104),'&#160') + '</td><td class="cntr">' +
  isnull(convert(char(10),Дата_начала,104),'&#160') + '</td><td class="cntr">' +
  isnull(convert(char(10),Дата_окончания,104),'&#160') + '</td><td class="cntr">' +
  isnull(convert(char(10),Дата_пр,104),'&#160') + '</td><td>' +
  isnull(СП,'&#160') + '</td></tr>' + char(10)
  from @t
  for xml path(''), type).value('text()[1]','Nvarchar(max)'
) + '</table></body></html>'

print @s


К сообщению приложен файл. Размер - 7Kb
25 фев 15, 17:13    [17311515]     Ответить | Цитировать Сообщить модератору
 Re: html форматирование в sp_send_dbmail  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
user89, абсолютно верно. Как на обычной странице.
25 фев 15, 17:15    [17311537]     Ответить | Цитировать Сообщить модератору
 Re: html форматирование в sp_send_dbmail  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
еще вдогонку маленький совет
в случае отсутствия данных лучше не выводить одни заголовки столбцов таблицы, а писать что-то типа
Данных нет.
25 фев 15, 17:18    [17311560]     Ответить | Цитировать Сообщить модератору
 Re: html форматирование в sp_send_dbmail  [new]
2viper2viper
Member

Откуда:
Сообщений: 271
user89, то что нужно :)
(Таблица отображается заметно читабельней: сетка, выравнивание)
Спасибо большое)
25 фев 15, 17:40    [17311690]     Ответить | Цитировать Сообщить модератору
 Re: html форматирование в sp_send_dbmail  [new]
2viper2viper
Member

Откуда:
Сообщений: 271
SQL2008,

полностью с Вами согласен. Спасибо за совет)
25 фев 15, 17:41    [17311697]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить