¿Qué significa <=>
en MySQL y qué hacer?¿Qué significa "<=>" en MySQL?
16
A
Respuesta
15
El manual lo dice todo:
NULL de fallos iguales. Este operador realiza una comparación de igualdad como el operador =, pero devuelve 1 más bien que NULL si ambos operandos son NULL, y 0 en lugar de NULL si un operando es NULL.
mysql> select NULL <=> NULL;
+---------------+
| NULL <=> NULL |
+---------------+
| 1 |
+---------------+
1 row in set (0.00 sec)
mysql> select NULL = NULL;
+-------------+
| NULL = NULL |
+-------------+
| NULL |
+-------------+
1 row in set (0.00 sec)
mysql> select NULL <=> 1;
+------------+
| NULL <=> 1 |
+------------+
| 0 |
+------------+
1 row in set (0.00 sec)
mysql> select NULL = 1;
+----------+
| NULL = 1 |
+----------+
| NULL |
+----------+
1 row in set (0.00 sec)
mysql>
2
NULL-seguro igual al operador
http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_equal-to
2
<=>
es una llamada NULL
-safe-equality operator.
SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;
-> 1, 1, 0
SELECT 1 = 1, NULL = NULL, 1 = NULL;
-> 1, NULL, NULL
4
Es el NULL-safe equal operator.
La diferencia entre < => y = es cuando uno o ambos operandos son valores NULOS. Por ejemplo:
NULL <=> NULL gives True
NULL = NULL gives NULL
Aquí está la tabla completa para el <=>
comparación de los valores 1, 2 y NULL:
| 1 2 NULL -----+------------------- 1 | True False False 2 | False True False NULL | False False True
comparar con el operador de igualdad ordinaria:
| 1 2 NULL -----+------------------- 1 | True False NULL 2 | False True NULL NULL | NULL NULL NULL
1
Es la Igual que la palabra clave estándar SQL DISTINCT
SELECT * FROM somewhere WHERE `address1` is not distinct from `address2`
Cuestiones relacionadas
- 1. ¿Qué significa <>?
- 2. ¿Qué significa ">>" y "<<" en Javascript?
- 3. ¿Qué significa <> en Python
- 4. ¿Qué significa Map <?, ?> en Java?
- 5. ¿Qué significa <%=h ... %> en Rails?
- 6. "<! DOCTYPE html>" ¿Qué significa?
- 7. ¿Qué significa el Diccionario <string, />?
- 8. ¿Qué significa la Acción <Action>?
- 9. Genéricos ¿Qué significa realmente <?>?
- 10. ¿Qué significa el Método <ClassName>?
- 11. scalac -explaintypes: ¿Qué significa "<notype><: X?" ¿media?
- 12. En C++, ¿qué significa la plantilla <>?
- 13. ¿Qué significa <non-object> en Asignar "imágenes"?
- 14. ¿Qué significa el símbolo <??> en C# .NET?
- 15. ¿Qué significa <T> (corchetes angulares) en Java?
- 16. ¿Qué significa el objeto <String> en Java?
- 17. ¿Qué significa% # ok <SAGROW> comment en MATLAB?
- 18. ¿Qué significa <value optimised out> en gdb?
- 19. ¿Qué significa = <c-r> en Vim
- 20. ¿Qué significa <en TFrom, out TTo>?
- 21. ¿Qué significa <init> en una excepción de Java?
- 22. ¿Qué significa la clase <?> en Java?
- 23. ¿Qué significa <fd-35> en Vimgolf?
- 24. ¿Qué significa '>>>' en javascript?
- 25. ¿Qué significa la plantilla <> (sin ninguna clase T en el <>)?
- 26. ¿Qué significa "<<" and ">>" en C++ para cout/cin?
- 27. ¿Qué significa << representa en python?
- 28. ¿Qué significa << hacer en Python?
- 29. ¿Qué significa "<< -" en Ruby?
- 30. ¿Qué significa '<? =' En PHP?
posible duplicado de [¿Qué es este operador <=> en MySQL?] (Http://stackoverflow.com/questions/21927117/what-is-this-operator-in-mysql) –
Éste es 3 años más antiguo ... – kuba
ese tiene 6x más vistas y 2x respuestas. SO es un lugar extraño. –