Что будет если сложить число и строку в SQL?

SELECT 1 + 1 -- 2
Если складываем два числа, все очень просто, "+" означает сложение.
SELECT '1' + '1' -- 11
SELECT 'a' + 'a' -- aa
В данном случае оператор "+" применяется к строкам, это будет объединение строк (конкатенация).
SELECT 1 + '1' -- 2
SELECT '1' + 1 -- 2
В этом примере разные типы данных (int и varchar). Тип varchar имеет более низкий приоритет типов данных, поэтому он будет преобразован в int.
SELECT 1 + 'a' -- error
SELECT 'a' + 1 -- error
И этом случае varchar преобразовывается в int, однако превратить строку 'a' в число нельзя, поэтому получаем ошибку: Conversion failed when converting the varchar value 'a' to data type int.
Комментариев нет:
Отправить комментарий