将SQL Server拆分为不同的列
我在表格的一列中有如下数据:将SQL Server拆分为不同的列,sql,sql-server,parsing,split,Sql,Sql Server,Parsing,Split,我在表格的一列中有如下数据: cpc > cpc > organic cpc > organic >cpc mail > cpc > organic 如何使用“>”作为分隔符将数据拆分为不同的列?这是一个著名的问题。您可以通过CLR导入函数使用正则表达式,但这里非常有用。您可以使用的Alter spliting是您需要按列准确地显示数据。可能您也可以这样做 SELECT PARSENAME(REPLACE(String,'>','.'),1)
cpc > cpc > organic
cpc > organic >cpc
mail > cpc > organic
如何使用“>”作为分隔符将数据拆分为不同的列?这是一个著名的问题。您可以通过CLR导入函数使用正则表达式,但这里非常有用。您可以使用的Alter spliting是您需要按列准确地显示数据。可能您也可以这样做
SELECT
PARSENAME(REPLACE(String,'>','.'),1) AS 'col1' ,
PARSENAME(REPLACE(String,'>','.'),2) AS 'col2' ,
PARSENAME(REPLACE(String,'>','.'),3) AS 'col3'
FROM tbl
declare @t table (name varchar(30))
insert into @t (name)values ('cpc > cpc1 > organic'),('cpc > organic1 >cpc')
select
SUBSTRING(name,0,CHARINDEX('>',name))As Col1,
SUBSTRING(name, charindex('>', name)+1, len(name) - CHARINDEX('>', reverse(name)) - charindex('>', name))As Col2,
REVERSE(SUBSTRING(reverse(name),0,CHARINDEX('>',reverse(name))))As Col3
from @t
因此,当我在链接中使用该脚本时,如何从某个列生成拆分函数?当我尝试从fn_CSVToTable Select Column from Table中选择*时,它不起作用