SQL Management Studio中特定列的数据移位

时间:2017-05-09 18:00:47

标签: sql sql-server

SQL的新手,我的问题是我在导入数据方面遇到了一些问题,这导致了一些差异。

Column A    Column B       Column C  Column D  Column E   Column F 
WB-002      "Brown Sales"  14A       140000    12/5/2015  12/5/2016          
WB-002      "Johnson       Inc"      24B       150000     12/5/2015,2/5/2016
WB-005      "Sonoma        Inc"      26C       300000     7/30/2015,7/30/2016

对于过去第1列的行,我如何将数据移到一个上?或者我是否必须一遍又一遍地替换下一行的每一行数据?最终结果需要:

Column A    Column B       Column C  Column D  Column E   Column F 
WB-002      "Brown Sales"  14A       140000    12/5/2015  12/5/2016          
WB-002      "Johnson Inc"  24B       150000    12/5/2015  2/5/2016
WB-005      "Sonoma  Inc"  26C       300000    7/30/2015 7/30/2016

1 个答案:

答案 0 :(得分:1)

评论太长了。

我不认为SQL Server能够理解真正的CSV格式(除非更新版本在这方面有所改进)。唉。您应该尝试重新导入数据(好的手指,不要键入确实理解CSV的Postgres)。

如果文件足够小,则将其加载到Excel中并使用制表符分隔符保存 - 或者不是逗号。然后,您可以正确地将它带入SQL Server。

如果它更大,我不知道该怎么做(我想当我遇到这个问题时,Excel总是来救援)。根据您的技能,您可以使用Python,grep或PowerShell等语言进行预处理。或者您可以将每一行作为字符串加载到SQL Server中,然后在SQL中进行所有解析(也不是微不足道的。)

与此同时,让微软知道Excel产品中最常见的导出格式应该可以导入到他们的数据库产品中。