not - ¿Qué es equivalente a la función Nz en MS Access en MySQL? ¿Es Nz un estándar SQL?
not null en access (5)
COALESCE hace exactamente lo que el OP está pidiendo, al igual que IFNULL:
SELECT Nz(MightBeNullVar, 0) FROM ... (MS Access version)
SELECT COALESCE(MightBeNullVar, 0) FROM ... (MySQL version)
SELECT IFNULL(MightBeNullVar, 0) FROM ... (MySQL version)
La diferencia es que COALESCE puede buscar a través de múltiples variables y devolver la primera no nula:
SELECT COALESCE(MightBeNullVar, MightAlsoBeNullVar, CouldBeNullVar, 0) FROM ... (MySQL version)
cada uno de estos devolverá un 0 (cero) si ninguno de los valores tiene un valor establecido (son nulos).
El IFNULL es (bastante sin sentido) más rápido. Probablemente haya otras cosas mejores que optimizar en su consulta antes de molestarse con problemas de IFNULL vs COALESCE. Si tiene varias cosas para verificar, use COALESCE. Si solo tiene un valor único para verificar, use IFNULL.
¿Cuál es el equivalente de MySQL de la función Nz
en Microsoft Access? ¿Es Nz
un estándar SQL?
En Access, la función Nz
permite devolver un valor cuando una variante es nula. Fuente
La sintaxis para la función Nz
es:
Nz ( variant, [ value_if_null ] )
Es posible que desee ver IFNULL
o COALESCE
. Si recuerdo correctamente, IFNULL
funciona para MySQL.
La función COALESCE()
hace lo que describes. Es un SQL estándar y debe ser compatible con todas las bases de datos SQL.
La función IFNULL()
no es SQL estándar. Solo algunas marcas de bases de datos admiten esta función.
Tal vez sea útil saber qué función MS Access NZ () realmente tiene (antes de responder con sugerencias completamente inválidas). La prueba de función NZ () para nulo y reemplaza el nulo con una cadena vacía, un cero u opcionalmente un valor que ingresa el usuario.
COALESCE ni siquiera se acerca, de hecho, devuelve un valor nulo si no hay valores nulos en una ''Lista ???''
La función IFNULL () es lo que estás buscando.
http://dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html
Tenga en cuenta al operador seguro nulo <=>
Quizás podría ayudar: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html#operator_equal-to