【发布时间】:2011-08-15 07:57:57
【问题描述】:
我有一个包含名称值对的varchar(max) 字段,在每一行中我都有名称下划线值。
我需要对其进行查询,以便它在两列中返回名称、值对(因此通过解析文本、删除下划线和“新行”字符。
所以从这里
select NameValue from Table
我在哪里得到这个文本:
Name1_Value1
Name2_Value2
Name3_Value3
我想要这个输出
Names Values
===== ======
Name1 Value1
Name2 Value2
Name3 Value3
【问题讨论】:
-
我关闭了这个问题,因为我问了一个更接近我真正问题的新问题:stackoverflow.com/questions/5830065/…
-
无需关闭。您可以编辑您的问题
-
是的,你是对的,我真的很着急!
-
正确的做法是进行适当的设计,这样您在一个字段中就不会拥有多个信息。您应该将其存储为两个字段,这样您就不必在每次想要查看数据时都编写讨厌的代码来正确查看数据。每当您有一段数据必须运行函数才能正确查看时,您需要考虑重构设计。数据库设计最基本的规则之一是每个字段包含一个且唯一的信息。每次选择数据时最好在插入数据时解析一次。
标签: sql-server sql-server-2008 text-parsing