Sql server 直接从MS SQL在拆分中拆分?

Sql server 直接从MS SQL在拆分中拆分?,sql-server,asp-classic,vbscript,Sql Server,Asp Classic,Vbscript,我使用经典ASP(是的,我知道,但我不能)和MS SQL 2012作为数据库,数据类型为nvarchar(255),字段名为“RATE\u BREAKDOWN” 数据从文本区域保存,如下所示: Line One = 550.00 Accs = 1000.00 Total = 1550.00 <tr> <TD> Line One : </TD> <TD> $ 550.00 </TD> </tr> <tr> &

我使用经典ASP(是的,我知道,但我不能)和MS SQL 2012作为数据库,数据类型为nvarchar(255),字段名为“RATE\u BREAKDOWN”

数据从文本区域保存,如下所示:

Line One = 550.00
Accs = 1000.00
Total = 1550.00 
<tr>
<TD> Line One : </TD>
<TD> $ 550.00 </TD>
</tr>

<tr>
<TD> Accs : </TD>
<TD> $ 1000.00 </TD>
</tr>

<tr>
<TD> Total : </TD>
<TD> $ 1550.00 </TD>
</tr>
现在我想循环每一行(vbCrLf)并将其显示在

例如:

Line One = 550.00
Accs = 1000.00
Total = 1550.00 
<tr>
<TD> Line One : </TD>
<TD> $ 550.00 </TD>
</tr>

<tr>
<TD> Accs : </TD>
<TD> $ 1000.00 </TD>
</tr>

<tr>
<TD> Total : </TD>
<TD> $ 1550.00 </TD>
</tr>

width='285'class='auto-style57'将成为文本,而不是页面html/格式的一部分

忘记所有
tmp
变量以及进出
块。只要这样做:

Response.Write”“&join(分割)(分割(strtxtMSG,vbCrLf),
""), "=")," :  $ ") & ""
当您添加额外的需求(如
class='some-thing'
时,这种情况会中断,因为现在您正在按
=
进行拆分,但您也希望保留一些
=
。因此,您可以先将这些
=
替换为数据中不会自然出现的其他内容,比如管道
|
字符:

strtxtMSG = Replace(strtxtMSG, "=", "|")

' then split by | instead of =

Response.Write "<tr><td>" & join(split(join(split(strtxtMSG, vbCrLf),
  "</td></tr><tr><td>"), "|")," : </td><td class='some-thing'> $ ") & "</td></tr>"
一些奇才可能会提出一个XML路径的
等价物,可能比这个更好:

DECLARE @RATE_BREAKDOWN NVARCHAR(255);

SELECT @RATE_BREAKDOWN = N'Line One = 550.00
Accs = 1000.00
Total = 1550.00';

DECLARE @r VARCHAR(MAX) = REPLACE(REPLACE(
  (SELECT @RATE_BREAKDOWN FOR XML PATH('td'),ROOT('tr')),
   ' = ', ' : </td><td> $ '), '&#x0D; ', '</td></tr><tr><td>');

SELECT @r;
DECLARE@RATE\u细分NVARCHAR(255);
选择@RATE\u细分=N'行一=550.00
Accs=1000.00
总数=1550.00';
声明@r VARCHAR(MAX)=替换(REPLACE(
(选择XML路径('td')、根('tr')的@RATE_细分,
“=”、“:$”)、“
;”、“);
选择@r;
但这两种方法在T-SQL中的执行效率都非常低,在表示层中的处理效率也要高得多。为什么SQL Server应该知道或关心像
这样的HTML元素?你能做到并不意味着你应该做到


更妙的是,通过构建更好的数据库模式—如果这些是独立的数据块,为什么要将它们组合在一列中?

什么是
objLoad()
?这是记录集吗?你能不能给它起个更好的名字,这样就可以清楚地知道它是什么<代码>obj
相当广泛。如果这不是一个记录集,我不确定这个问题与SQL Server到底有什么关系(即使是这样,也是一个延伸)。是的,这是一个记录集。我已经改正了。感谢这只是一个问题,我正在尝试向TD添加一个类,它总是显示为文本,我如何解决这个问题???如果你能看一下的话,我在问题的末尾添加了代码。Thanks@msvuze不要使用
width='285''class='auto-style57''
尝试用单引号括起来,例如
width='285'class='auto-style57'
。这可能违反了一些棘手的标准,但应该可以满足您的需要。即使我只尝试class='auto-style57',仍然会在页面中出现错误或文本:(还有其他想法吗?谢谢,againI更新了问题,它没有显示错误,但是文本在页面中,而不是html中?我刚刚注意到,它在第一个问题上可以工作,例如,Response.Write”“&join(split(……但在第二个问题上不工作,它将始终显示为文本!)!?