Skip to content
Menu
Knihy-blog
Knihy-blog
diciembre 20, 2021

SET ANSI_NULLS

Especifica el comportamiento compatible con SQL-92 de los operadores de comparación Iguales (=) y No Iguales a (<>) cuando se usan con valores nulos.

  • Sintaxis
  • Observaciones
  • Permisos
  • Ejemplos
  • Véase También
Sintaxis

ESTABLECER ANSI_NULLS {ON / OFF}

Observaciones

El estándar SQL-92 requiere que una comparación igual a (=) o no igual a (<>) con un valor nulo se evalúe como FALSO. Cuando SET ANSI_NULLS está ACTIVADO, una instrucción SELECT usando WHERE column_name = NULL devuelve cero filas incluso si hay valores nulos en column_name. Una instrucción SELECT que usa WHERE column_name < > NULL devuelve cero filas incluso si hay valores nonnull en column_name.

Cuando SET ANSI_NULLS está DESACTIVADO, los operadores de comparación Igual a (=) y No Igual A (<>) no siguen el estándar SQL-92. Una instrucción SELECT que usa WHERE column_name = NULL devuelve las filas con valores nulos en column_name. Una instrucción SELECT que usa WHERE column_name < > NULL devuelve las filas con valores nonnull en la columna. Además, una instrucción SELECT que usa WHERE column_name < > XYZ_value devuelve todas las filas que no tienen valor XYZ y que no son NULL.

Tenga en cuenta que el nivel de compatibilidad de sp_dbcmptlevel controla si Microsoft® SQL Server™ interpreta una cadena vacía como un espacio único o como una cadena vacía verdadera. Si el nivel de compatibilidad es inferior o igual a 65, SQL Server interpreta las cadenas vacías como espacios individuales. Si el nivel de compatibilidad es igual a 70, SQL Server interpreta las cadenas vacías como cadenas vacías. Para obtener más información, consulte sp_dbcmptlevel.

Cuando SET ANSI_NULLS está ACTIVADO, todas las comparaciones con un valor nulo se evalúan como DESCONOCIDO. Cuando SET ANSI_NULLS está DESACTIVADO, las comparaciones de todos los datos con un valor nulo se evalúan como VERDADERO si el valor de los datos es NULO. Si no se especifica, se aplica la configuración de la opción ANSI nulos de la base de datos actual. Para obtener más información sobre la opción de base de datos ANSI nulos, consulte sp_dboption y Configuración de opciones de base de datos.

Para que un script funcione según lo previsto, independientemente de la opción de base de datos ANSI nulls o de la configuración de SET ANSI_NULLS, el uso ES NULO y NO ES NULO en comparaciones que pueden contener valores nulos.

Para procedimientos almacenados, SQL Server utiliza el valor de configuración SET ANSI_NULLS desde el momento de creación inicial del procedimiento almacenado. Siempre que el procedimiento almacenado se ejecuta posteriormente, la configuración de SET ANSI_NULLS se restaura a su valor utilizado originalmente y surte efecto. Cuando se invoca dentro de un procedimiento almacenado, la configuración de SET ANSI_NULLS no se cambia.

SET ANSI_NULLS debe estar ACTIVADO para ejecutar consultas distribuidas.

SET ANSI_NULLS también debe estar ACTIVADO al crear o manipular índices en columnas calculadas o vistas indexadas. Si SET ANSI_NULLS está DESACTIVADO, las instrucciones CREATE, UPDATE, INSERT y DELETE en tablas con índices en columnas calculadas o vistas indexadas fallarán. SQL Server devolverá un error que muestra todas las opciones de CONJUNTO que violan los valores requeridos. Además, al ejecutar una instrucción SELECT, si SET ANSI_NULLS está DESACTIVADO, SQL Server ignorará los valores de índice en columnas o vistas calculadas y resolverá el select como si no hubiera tales índices en las tablas o vistas.

Nota ANSI_NULLS es una de las siete opciones de CONJUNTO que se deben establecer a los valores requeridos cuando se trata de índices en columnas calculadas o vistas indexadas. Las opciones ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, QUOTED_IDENTIFIER y CONCAT_NULL_YIELDS_NULL también deben estar ACTIVADAS, mientras que NUMERIC_ROUNDABORT debe estar DESACTIVADA.

El controlador ODBC de SQL Server y el proveedor de bases de datos OLE de Microsoft para SQL Server establecen automáticamente ANSI_NULLS en ON al conectarse. Esta configuración se puede configurar en orígenes de datos ODBC, en atributos de conexión ODBC o en propiedades de conexión OLE DB que se establecen en la aplicación antes de conectarse a SQL Server. ESTABLECER ANSI_NULLS como DESACTIVADO por defecto para conexiones desde aplicaciones de biblioteca de bases de datos.

Cuando SET ANSI_DEFAULTS está ACTIVADO, SET ANSI_NULLS está habilitado.

La configuración de SET ANSI_NULLS se establece en tiempo de ejecución o ejecución y no en tiempo de análisis.

Permisos

ESTABLECER permisos ANSI_NULLS predeterminados para todos los usuarios.

Ejemplos

Este ejemplo utiliza los operadores de comparación Igual a (=) y No Igual A (<>) para hacer comparaciones con valores NULOS y nonnull en una tabla. Este ejemplo también demuestra que IS NULL no se ve afectado por la configuración SET ANSI_NULLS.

Véase También

= (Es Igual a)

SI…Otra COSA

<> (No es Igual A)

SET

SET ANSI_DEFAULTS

DONDE

MIENTRAS

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Entradas recientes

  • Sidney Rice Patrimonio neto 2018: ¿Cuánto vale este jugador de fútbol americano de la NFL?
  • SQL Server Función QUOTENAME
  • Estudio de Salud Cardiovascular (CHS, por sus siglas en inglés)
  • El Mejor Aderezo de Fresa
  • Talks
  • Reseña de Stanford MSx: ¿Vale la pena la alternativa de Executive MBA?
  • PMC
  • 49 Fotos Calientes De Stephanie Szostak Que Te Harán Pensar En Pensamientos Sucios
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어

Archivos

  • marzo 2022
  • febrero 2022
  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021

Meta

  • Acceder
  • Feed de entradas
  • Feed de comentarios
  • WordPress.org
©2022 Knihy-blog | Powered by WordPress and Superb Themes!