Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL中提取分隔符之间的文本_Sql - Fatal编程技术网

在SQL中提取分隔符之间的文本

在SQL中提取分隔符之间的文本,sql,Sql,如何将由逗号分隔的列中的所有值提取到单独的表中?列中最多可以有14个不同的值 例如: 2,8,5,10,12 如果您使用的是SQL Server 2016,那么您可能会很幸运。您可以使用该函数 否则,这是不容易做到的。SQL可能不是这种数据清理的最佳工具。您是否还有其他可以使用的工具,比如Java或Perl?永远不要将数据存储为逗号分隔的值。这只会给你带来很多麻烦。不幸的是,没有,只有SQL。这些值被用作另一个表的外键,因此我需要拆分这些值。感谢您使用的数据库管理系统。有些产品的功能在这里很有

如何将由逗号分隔的列中的所有值提取到单独的表中?列中最多可以有14个不同的值

例如:

2,8,5,10,12

如果您使用的是SQL Server 2016,那么您可能会很幸运。您可以使用该函数


否则,这是不容易做到的。

SQL可能不是这种数据清理的最佳工具。您是否还有其他可以使用的工具,比如Java或Perl?永远不要将数据存储为逗号分隔的值。这只会给你带来很多麻烦。不幸的是,没有,只有SQL。这些值被用作另一个表的外键,因此我需要拆分这些值。感谢您使用的数据库管理系统。有些产品的功能在这里很有用。将表引用存储为逗号分隔的字符串是一个非常糟糕的主意。您应该考虑重新设计表结构。不,我不使用SQL Server 2016:(!@娜塔利:那么您使用的是哪种DBMS?SQL Server 2012)