2015-09-03 2 views
0

Я увидел приведенный ниже код в одной из хранимых процедур нашего приложения.Использование HTML-тегов в Transact SQL

 SELECT 
     '<tr style=''color: blue; font-size: 11px; font-weight: bold; ''><td>' +  
     '</td><td align=center>' + 
     CASE WHEN sunfrom = '00:00 AM' OR sunto = '00:00 AM' THEN 'CLOSED' else 
     isnull(left(convert(char(8),sunfrom, 108),5),'') + '-' + isnull(left(convert(char(8),sunto, 108),5),'') END + 
     '</td><td align=center>' + 
     CASE WHEN monfrom = '00:00 AM' OR monto = '00:00 AM' THEN 'CLOSED' else 
     isnull(left(convert(char(8),monfrom, 108),5),'') + '-' + isnull(left(convert(char(8),monto, 108),5),'') END 
     FROM dates 

Похоже, что используются HTML-теги. Мне нужно знать цель этого запроса. Может ли кто-нибудь помочь?

+1

кто-то сделал очень приятное архитектурное решение для внедрения веб-дизайна с использованием t-sql, и это было не иронично .... – Thorarins

+0

да. дизайн кажется ужасным. Но я поражен тем, что мы можем делать веб-дизайн с использованием t-sql, хотя это не рекомендуется :). –

ответ

0

он строит HTML строку, конкатенации с некоторыми данными столбцов, выглядит он производит строки таблицы

0

Похоже, что он создает таблицу «часов работы» для веб-сайта. Что-то вроде:

Sun  Mon    Tue    Wed 
CLOSED 9:00AM-5:00PM 9:30AM-5:30PM CLOSED 

Сгенерированный HTML строка будет выглядеть (с форматированием):

<table> 
    <tr> 
    <td></td> 
    <td>Sun</td> 
    <td>Mon</td> 
    <td>Tue</td> 
    </tr> 
    <tr style='color: blue; font-size: 11px; font-weight: bold; '> 
    <td></td> 
    <td align=center>CLOSED</td> 
    <td align=center>9:00AM-5:00PM</td> 
    <td align=center>9:30AM-5:30PM</td> 
    <td align=center>CLOSED</td> 
    </tr> 
</table> 
+1

Кстати, я определенно согласен с @Thorarins, что это страшное дизайнерское решение для сборки этой строки HTML с использованием T-SQL ... – Nerdwood

+0

хранимой процедуре требуется много времени для выполнения с небольшим количеством данных. определенно подход к ограничению производительности –

+0

Да, не слишком приятно! Большая проблема заключается в том, что он также сильно затрудняет чтение кода T-SQL - было бы неплохо иметь некоторое разделение между SQL и HTML. – Nerdwood

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