Permitir valores NULL

La nulabilidad de una columna determina si las filas de una tabla pueden contener un valor NULL en esa columna. Un valor NULL no es lo mismo que cero (0), en blanco o que una cadena de caracteres de longitud cero, como "". NULL significa que no hay ninguna entrada. La presencia de un valor NULL suele implicar que el valor es desconocido o no está definido. Por ejemplo, un valor NULL en la columna SellEndDate de la tabla Production.Product de la base de datos AdventureWorks no implica que el artículo no tenga una fecha de venta final. El valor NULL significa que se desconoce la fecha o que no se ha establecido.

[!NOTA]

Se recomienda evitar la aceptación de valores NULL, dado que pueden implicar una mayor complejidad en las consultas y actualizaciones. Por otra parte, hay otras opciones para las columnas, como las restricciones PRIMARY KEY, que no pueden utilizarse con columnas que aceptan valores NULL.

Si se inserta una fila, pero no se incluye ningún valor para una columna que permita valores NULL, Database Engine (Motor de base de datos) proporcionará el valor NULL, a menos que exista una definición o un objeto DEFAULT. Una columna definida con la palabra clave NULL también acepta una entrada explícita de NULL por parte del usuario, independientemente del tipo de datos de que se trate o de si tiene un valor predeterminado asociado. El valor NULL no debe ponerse entre comillas porque no será interpretado como un valor NULL, sino como la cadena de caracteres "NULL".

Si se configura una columna para que no permita valores NULL, será más fácil mantener la integridad de los datos, ya que se garantiza que una columna de una fila siempre contendrá datos. Si no se aceptan valores NULL, el usuario que escriba los datos en la tabla deberá especificar un valor para la columna; de lo contrario, no se podrá aceptar la fila de la tabla en la base de datos.

[!NOTA]

Las columnas definidas con una restricción PRIMARY KEY o una propiedad IDENTITY no pueden aceptar valores NULL.