【发布时间】:2014-09-12 22:41:42
【问题描述】:
我有一个表格,其中包含一个客户帐号和 ONE 字段,其中包含多个客户备注。我需要在查询中将客户备注提取到单独的行项目结果中。我在下面包含了我的数据样本和查询的预期输出。
**TABLE**
***Customer #*** ***Customer Notes***
=====================================
25214 | 05/01/2014 - New Customer setup. - DAB |05/24/2014 - Waive Deposit. - DAB
12254 | 03/15/2013 - VIP customer. - FLH |03/23/2014 - See John if there is a
problem with customer's account. - FLH
客户备注数据字段是 TEXT 数据类型。如您所见,对于每个帐号,每个客户都有两个客户备注。我需要解析客户备注数据字段中的数据并得到以下结果:
25214 | 05/01/2014 - New Customer setup. - DAB
25214 | 05/24/2014 - Waive Deposit. - DAB
12254 | 03/15/2014 - VIP Customer. - FLH
12254 | 03/23/2014 - See John if there is a problem with customer's account. - FLH
非常感谢任何帮助!
【问题讨论】:
-
SQL Server 不适合做这样的事情。您在这里使用糟糕的数据库设计,如果可能,您应该重构设计。如果你不这样做,你将继续面临这样的挑战,直到你最终发疯。如果无法重构,请将此数据返回到更适合解析的编程语言。
-
那个特定的分割函数被称为半字节。它可以工作,但可能是所有不同类型的 t-sql 拆分器中最慢的。它使用了一段时间,也是最糟糕的一种表值函数,多语句版本。您最好在任何地方找到几乎任何其他分离器。
标签: sql-server