Я обновляюсь с SQL Server 2008 R2 до SQL Server 2014. У меня есть задача SQL в одном из моих пакетов SSIS, который дает разные результаты в двух разных версиях SQL.Заменить функцию в SQL Server 2014 добавляет конечные нули в поле Char
Это SQL, который я запускаю в обеих версиях. Столбец MfgPartNbr
представляет собой столбец CHAR(50)
.
Select REPLACE(MfgPartNbr, ' ', '0') NewCol, MfgPartNbr
From Table
Результаты в SQL Server 2014 являются:
NewCol MfgPartNbr
04090226000000000000000000000000000000000000000000 04090226
04090481000000000000000000000000000000000000000000 04090481
Результаты в SQL Server 2008 R2 являются:
NewCol MfgPartNbr
04090226 04090226
04090481 04090481
Чтобы добавить новую информацию - У меня есть 2008 и 2014 SQL Server настроены как подключенные серверы (я могу получить доступ либо из них).
Поэтому, когда я запускаю эти инструкции в окне управления SQL 2008, я выбираю записи с обоих серверов. Оба они НЕ возвращают нули.
Когда я запускаю операторы в блоке управления SQL 2014 Management Studio, я снова выбираю записи с обоих серверов. Однако теперь они оба возвращают нули.
Я просто очень, очень интересуюсь различием в поведении.
Что такое тип данных 'NewCol'? – alroc