Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

valores null

Estas en el tema de valores null en el foro de Mysql en Foros del Web. Hola. Tengo dos dudas respecto al uso de valores null en mysql. Agradecería mucho que me echaseis una mano. 1.- ¿Cómo puedo hacer para que ...
  #1 (permalink)  
Antiguo 22/03/2010, 17:51
 
Fecha de Ingreso: enero-2010
Mensajes: 10
Antigüedad: 14 años, 3 meses
Puntos: 0
valores null

Hola.
Tengo dos dudas respecto al uso de valores null en mysql.
Agradecería mucho que me echaseis una mano.

1.- ¿Cómo puedo hacer para que al ordenar (order by) los valores nulos se queden al final y no al principio?

2.- ¿Cómo puedo insertar valores nulos en campos datetime o time? En enteros si me lo permite pero en este timpo de campos me obliga al formato hh:mm:ss.

Un saludo.

Muchas gracias.
  #2 (permalink)  
Antiguo 22/03/2010, 21:48
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: valores null

Cita:
1.- ¿Cómo puedo hacer para que al ordenar (order by) los valores nulos se queden al final y no al principio?
Código SQL:
Ver original
  1. ORDER BY FIELD(campo_fecha,NULL);

Cita:
2.- ¿Cómo puedo insertar valores nulos en campos datetime o time? En enteros si me lo permite pero en este timpo de campos me obliga al formato hh:mm:ss.
Null puede ser insertado en cualquier campo y tipo de dato desde que no esté declarado como NOT NULL

Código MySQL:
Ver original
  1. mysql> create table tiempo_y_fecha(hor time,fec date,fec_hor datetime);
  2. Query OK, 0 rows affected (0.01 sec)
  3.  
  4. mysql> insert into tiempo_y_fecha values(null,null,null);
  5. Query OK, 1 row affected (0.00 sec)
  6.  
  7. mysql> select *from tiempo_y_fecha;
  8. +------+------+---------+
  9. | hor  | fec  | fec_hor |
  10. +------+------+---------+
  11. | NULL | NULL | NULL    |
  12. +------+------+---------+
  13. 1 row in set (0.00 sec)

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 23/03/2010, 03:17
 
Fecha de Ingreso: enero-2010
Mensajes: 10
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: valores null

Ok. Muchas gracias por la información.
La segunda pregunta ya está solucionada: era problema de la interfaz gráfica de la base de datos que utilizaba. Desde la línea de comandos no hay problema.
La primera no me da error pero tampoco me ordena (esto es lo que pongo):
Select * from xxxx order by field (columna de ordenación, NULL)
Seguiré peleando.
Muchas gracias.
  #4 (permalink)  
Antiguo 23/03/2010, 05:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: valores null

No estoy seguro de que los campos NULL sean ordenables, porque un NULL no es un valor. Denota la inexistencia de un valor. Y la nada no es ordenable.
En todo caso, MySQL, como muchos otros DBMS, ordena los registros poniendo abajo todos aquellos que den NULL en los campos seleccionados.
El problema es que en un JOIN no te pondrá registros si el resultado de la primera tabla de la relación es NULL, porque eso significa que no tiene registros con los cuales operar. La única excepción es el uso de RIGHT JOIN, pero en ese caso la lógica se invierte: Si la segunda tabla contiene NULL, no los pondrá.
En síntesis: Puede darte los NULL si y sólo si los campos a ordenar no componen la condición de la relación.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 05/10/2010, 03:14
 
Fecha de Ingreso: febrero-2007
Ubicación: Murcia
Mensajes: 34
Antigüedad: 17 años, 1 mes
Puntos: 3
Respuesta: valores null

Para el que le pueda servir:
ORDER BY IF(ISNULL(orden),1,0),orden ASC
  #6 (permalink)  
Antiguo 05/10/2010, 03:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: valores null

Cita:
Iniciado por jlsandoval17 Ver Mensaje
Para el que le pueda servir:
ORDER BY IF(ISNULL(orden),1,0),orden ASC
Esto es interesante.
Lo voy a tener que probar en algún caso...

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: null
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:23.