Excel列值(不限字符串数字)转换Vaules()拼凑表

Posted BingCorePower

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel列值(不限字符串数字)转换Vaules()拼凑表相关的知识,希望对你有一定的参考价值。

DECLARE @TaskCmdOne VARCHAR(MAX)=‘北京  
上海  
广州  
长春  
济南  
成都  
南京  
武汉‘, @TaskCmdTwo VARCHAR(MAX)  
  
  
SELECT @TaskCmdOne=REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@TaskCmdOne,‘,‘,‘,‘),‘、‘,‘,‘),‘/‘,‘,‘),‘\‘,‘,‘),‘|‘,‘,‘)  
  
IF CHARINDEX(‘,‘,@TaskCmdOne)=0   
BEGIN  
  SELECT @TaskCmdOne=REPLACE(@TaskCmdOne,CHAR(13)+CHAR(10),‘,‘)  
  WHILE LEFT(@TaskCmdOne,1)=‘,‘ SELECT @TaskCmdOne=RIGHT(@TaskCmdOne,LEN(@TaskCmdOne)-1)  
  WHILE RIGHT(@TaskCmdOne,1)=‘,‘ SELECT @TaskCmdOne=LEFT(@TaskCmdOne,LEN(@TaskCmdOne)-1)  
END ELSE  
BEGIN  
    SELECT @TaskCmdOne=REPLACE(@TaskCmdOne,CHAR(13)+CHAR(10),‘<br>‘)   
    SELECT @TaskCmdOne=REPLACE(@TaskCmdOne,‘<br>‘,‘‘)  
END  
  
SELECT @TaskCmdOne=REPLACE(@TaskCmdOne,‘ ‘,‘‘)  
SELECT @TaskCmdTwo=REPLACE(@TaskCmdOne,‘,‘,‘‘‘)‘+‘,‘+‘(‘‘‘)  
SELECT @TaskCmdOne=REPLACE(@TaskCmdOne,‘,‘,‘‘‘‘+‘,‘+‘‘‘‘)  
  
SELECT @TaskCmdOne=‘‘‘‘[email protected]+‘‘‘‘  
SELECT @TaskCmdTwo=‘(‘‘‘[email protected]+‘‘‘)‘  
SELECT @TaskCmdOne=REPLACE(@TaskCmdOne,‘ ‘,‘‘)  
SELECT @TaskCmdTwo=REPLACE(@TaskCmdTwo,‘ ‘,‘‘)  
  
DECLARE @xml XML,@xmltwo XML  
SELECT @xml=CAST(‘<x>‘+REPLACE(@TaskCmdOne,‘,‘,‘,</x><x>‘)+‘</x>‘ AS XML)   
SELECT @xmltwo=CAST(‘<x>‘+REPLACE(@TaskCmdTwo,‘,‘,‘,</x><x>‘)+‘</x>‘ AS XML)   
  
SELECT A.RowID,A.col1,B.col2 FROM (  
SELECT ROW_NUMBER() OVER(ORDER BY GETDATE()) RowID,T.C.value(‘.‘,‘varchar(500)‘) AS col1  from    
(SELECT @xml.query(‘.‘) AS name) AS a  
CROSS APPLY a.name.nodes(‘/x‘) T(C))A INNER JOIN (  
SELECT ROW_NUMBER() OVER(ORDER BY GETDATE()) RowID,T.C.value(‘.‘,‘varchar(500)‘) AS col2  from    
(SELECT @xmltwo.query(‘.‘) AS name) AS a  
CROSS APPLY a.name.nodes(‘/x‘) T(C))B ON A.RowID=B.RowID  

  

以上是关于Excel列值(不限字符串数字)转换Vaules()拼凑表的主要内容,如果未能解决你的问题,请参考以下文章

excel 如何把数字自动转成字符串?

如何将列值转换为vba宏中的行

Excel VBA里面怎样把数字转换成字符串

delphi下的cxgrid的列值转换问题

Excel vba 将数字转换成字符串的函数是哪个

Excel 怎样把数字字符串改成日期