【发布时间】:2015-02-27 10:59:51
【问题描述】:
我有一个分隔符
string ";2;5;2;5;04/02/2014;3;100.000000;5;04/02/2015;3;100.000000;5;04/02/2016;3;100.000000;5;04/02/2017;3;100.000000;5;04/02/2018;3;100.000000;"
数据格式如下:
1st character: Delimiter used within this format field
Number of dimensions
Delimiter
Number of rows
Delimiter
Number of columns
Delimiter
...Data Elements…
Delimiter
我想在查询或函数中提取这些数据,以获取表格格式的数据元素,例如
ScheduleDate ScheduleValue
04/02/2015 100.000000
04/02/2016 100.000000
04/02/2017 100.000000
04/02/2018 100.000000
04/02/2016 34428.9700
04/02/2017 34428.9700
04/02/2018 34428.9700
04/02/2019 34428.9700
这里“5” 表示日期,“04/02/2015” 是实际日期,“3” 表示价格,“100.00000” 是实际价格。
其他指标类似:
1 Character
2 Numeric
3 Price
4 Security
5 Date
6 Time
7 Date or time
8 Bulk
9 Month/Year
我还需要在该函数或查询中进行配置以适应这种情况。 如果有人可以提供帮助,我将非常感激。
【问题讨论】:
-
我曾尝试使用 split 函数分离数据,但我需要提出一个可配置的表值函数,该函数将计算所有这些参数以提供输出。任何关于如何进行优化方法的建议都将不胜感激。
-
SQL server中没有split功能;你是自己写的还是使用 .NET 的?
-
我已经用SQL Server写好了
-
好的,所以你的函数已经完成了词法分析的第一部分并有了标记。解析的下一部分可以将表定义中的部分标记转换为要插入到表中的数据。您可以通过生成动态 sql 语句来做到这一点。
-
如果您对 XML 感到满意,您可以将字符串转换为 XML,然后通过 Xpath/Xquery 提取数据
标签: sql sql-server-2008 substring delimiter