【发布时间】:2019-11-13 09:19:31
【问题描述】:
我正在使用SQL Server 2014,并且我有一个表 (t1),其中有一个名为 Rank 的列 (nvarchar 类型)。
该列的摘录如下:
Rank
#1 of 200 lodges in France
#2 of 200 lodges in France
...
#175 of 200 lodges in France
我想写一个 SELECT 语句,它会给我以下输出:
Rank Rank2 Type Country
#1 of 200 lodges in France 1 lodges France
#2 of 200 lodges in France 2 lodges France
#175 of 200 lodges in France 175 lodges France
...
我已尝试使用此处提供的解决方案,但我坚持将其转换为满足我的要求:Extract data between delimeter in Nvarchar field
如何使用 T-SQL 做到这一点?
【问题讨论】:
-
打几个电话
CHAR_INDEX就可以了。但说真的,它应该由脚本语言来完成。 -
那很糟糕。您需要在
INSERT期间对数据进行规范化 - 否则您可能会在 T-SQL 中执行此拆分时导致性能不佳。另外,您是否保证明天会插入无效记录(不符合您的初始语法的记录)? -
@gotqn 谢谢,但是这条记录是从源头“按原样”输入的,我们对其结构没有任何控制权!
标签: sql-server tsql nvarchar