Я экспериментирую с временными таблицами и сталкиваюсь с проблемой.Ошибка преобразования с столбцом NULL и SELECT INTO
Вот некоторые супер-упрощенный код, что я пытаюсь выполнить:
IF(Object_ID('tempdb..#TempTroubleTable') IS NOT NULL) DROP TABLE #TempTroubleTable
select 'Hello' as Greeting,
NULL as Name
into #TempTroubleTable
update #TempTroubleTable
set Name = 'Monkey'
WHERE Greeting = 'Hello'
select * from #TempTroubleTable
При попытке оператора обновления, я получаю ошибку:
Conversion failed when converting the varchar value 'Monkey' to data type int.
Я могу понять, почему температура таблица может не ожидать, что я заполню этот столбец varchars, но почему он принимает int? Есть ли способ, которым я могу перенести столбец, чтобы ожидать varchar (max), но все же инициализировать его с помощью NULL?
'NULL' по умолчанию для' INT'. Вы можете увидеть это с помощью 'EXEC tempdb..sp_help '#TempTroubleTable';' –