SQL Server中的选定记录放在错误的列中

时间:2016-10-03 17:39:19

标签: sql-server

我在SQL Server中使用了 select 语句,该语句生成了包含5列的记录。

Database Result

正如您在记录4中看到的那样,具有非常长数据的产品被插入错误的列中。为什么会这样?我顺便使用SQL Server 2012。 TIA!

2 个答案:

答案 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中它看起来像这样

enter image description here

如果粘贴到Excel中,您将看到

enter image description here

解决此问题的一种方法是去除CHAR(13)和CHAR(10)

Select ID,Descr=replace(replace(Descr,char(13),''),char(10),'') from @YourTable