2015-09-12 4 views
0

Возможно ли объединить разные типы данных в T-SQL, не требующие преобразования всего в один и тот же тип данных? Ниже кода показать сценарий:Конкатенация SQL-сервера разных типов данных

DECLARE @weight INT = 50 
PRINT 'The weight is' + @weight + 'years old' 
+2

Поместить образец ввода – mohan111

+0

Нет - если вы хотите объединить строковые литералы, то вы должны отличать или преобразовывать ваши другие значения в строковый тип –

ответ

1

Зависит, как вы конкатенации, если вы используете + вам необходимо явное преобразование, но вы можете использовать функцию Concat, и он будет неявно преобразовать параметры для вас. Сказав, что делать вещи явным образом очень часто является хорошей идеей.

1

Если вы используете версию < SQL Server 2012, у вас есть только один вариант - +. В этом случае у вас нет другого выбора, кроме явного преобразования.

Но с версиями, начиная с SQL Server 2012, вы можете использовать CONCAT, который делает неявные преобразования для вас.

Смежные вопросы