2016-10-06 2 views
0

Я только что увидел код sql, который объединяет 2 строки с '++'. Я всегда использую единственный плюс, как '+'В чем разница между + и ++ при конкатенации nvarchar?

, что является точкой, используя '++'

PRINT 'TEST ' ++ 'TEST' 
+1

Возможно, это только опечатка. t_sql будет игнорировать повторяющиеся знаки плюс. PRINT 'TEST' ++++++++++++ 'TEST' –

+0

Интересно. , , В настоящий момент у меня нет SQL Server под рукой, но возможно, что он будет анализировать как 'TEST '+ (+' TEST ')' и возвращать ошибку, потому что унарный положительный оператор ожидает числовую. С другой стороны, унарный '+' ничего не делает для числа, поэтому, возможно, он имеет такое же поведение в строке. –

+0

@SeanLange, служащий перед переулками к ответам с 2014 года – scsimon

ответ

1
PRINT 'TEST ' ++++++++++++ 'TEST' 

или

PRINT 5+++++++++++++++++++++2 

Тем не менее работает, потому что, «Хотя унарный плюс может появиться перед любым числовым выражением, он не выполняет операции над значением, возвращаемым из выражения. "

Посмотрите ниже документацию: https://msdn.microsoft.com/en-us/library/ms174362.aspx

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