임시 테이블을 실험 중이므로 문제가 있습니다. 여기 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 (최대) 기대 열을 준비 할 수 있지만 여전히 NULL로 초기화 할 수있는 방법이 있나요?
'NULL' 기본값을 널 캐스팅해야합니다. EXEC tempdb..sp_help #TempTroubleTable ';' –