我在SQL Server中使用了 select 语句,该语句生成了包含5列的记录。
正如您在记录4中看到的那样,具有非常长数据的产品被插入错误的列中。为什么会这样?我顺便使用SQL Server 2012。 TIA!
答案 0 :(得分:0)
您还没有提供完整的信息,所以我假设Sql Server显示4条记录,但是当您将这些记录复制到excel时,则会有5条记录,例如您共享的图片。
此问题的解决方法是您必须从产品列中删除新行字符和换行符。
使用以下查询:
SELECT ID, Title, REPLACE(REPLACE(product, CHAR(13), ''), CHAR(10), ''), country, isActive from YourTableName
答案 1 :(得分:0)
您是否将结果粘贴到Excel中?如果是这样,我怀疑你的长篇文章中有一个CRLF。
考虑以下
Declare @YourTable table (ID int,Descr varchar(max))
Insert into @YourTable values
(1,'Some Short Desc'),
(2,'Some Long Desc with a CRLF
Some more text on the second line'),
(3,'Some Short text')
Select * from @YourTable
在SSMS中它看起来像这样
如果粘贴到Excel中,您将看到
解决此问题的一种方法是去除CHAR(13)和CHAR(10)
Select ID,Descr=replace(replace(Descr,char(13),''),char(10),'') from @YourTable