Cuando creo una tabla temporal usando un select into
en SQL Server, ¿hay alguna manera de especificar que una columna debe ser anulable? Tengo un proceso de varios pasos en el que estoy creando una tabla temporal seleccionando muchas columnas (por lo que no estoy haciendo un create table #tmp (...)
). Después de hacer esa tabla temporal, estoy actualizando algunas columnas y algunas de esas actualizaciones pueden anular un campo.Crear una columna que se pueda nulos mediante SQL Server SELECT INTO?
Sé que podría hacer una declaración alter table alter column
para lograr lo que quiero, pero tengo curiosidad acerca de si hay una forma de especificar esto en el select
. Sé que puede alinear sus columnas en cast
para obtener el tipo de datos deseado, pero no veo cómo especifica la capacidad de anulación.
'NULLIF' parece funcionar muy bien cuando se utiliza una columna. Tu respuesta me hizo pensar en probar 'COALESCE (col_name, null)' que funciona universalmente sin necesidad de inventar un valor imposible. Sin embargo, hay una situación en la que ninguna parece funcionar, y es cuando selecciona un literal como 'select nullif ('asdf', '~') como Value en _Test'. NULLIF/COALESCE parece que es lo suficientemente bueno, pero ¿hay alguna otra manera que funcione en todas las situaciones? – mattmc3
@ mattmc3 - algunos operadores eluden eso (por ejemplo, ABS funciona en el ejemplo anterior), pero NULLIF no es suficiente. –