2016-10-03 10 views
0

Я использовал инструкцию на SQL Server, которая сгенерировала записи с 5 столбцами.Выбранные записи в SQL Server размещены в неправильных столбцах

Database Result

Как вы можете видеть в записи 4, продукт, который был очень длинный данные были вставлены в неправильном колонке. Почему это случилось? Кстати, я использую SQL Server 2012. ТИА!

+1

Оператор SELECT не помещает его в неправильный столбец, данные находятся в неправильном столбце от того, как он был вставлен в таблицу. Что-то не так, но у нас недостаточно информации, чтобы догадываться, что это может быть. По крайней мере, вы должны поделиться своим оператором SELECT, но опять же, вероятно, это вставка этих данных (и сценарий для этого), которые не работают. – JNevill

ответ

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 
0

Вы не предоставили полную информацию, поэтому я предполагаю, что Sql Server показывает 4 записи, но когда вы копируете эти записи в excel, есть 5 записей, таких как изображение, которое вы разделили.

Решение этой проблемы - вам нужно удалить новый символ строки и строку из столбца продукта.

Использование ниже запроса:

SELECT ID, Title, REPLACE(REPLACE(product, CHAR(13), ''), CHAR(10), ''), country, isActive from YourTableName