FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Porque sale null esta consulta??
|
#2
|
||||
|
||||
Desconozco qué motor de base de datos utilizas (es importante aclarar ese dato) pero, comúnmente, cuando el resultado de una consulta Select devuelve una columna con valor de Null es porque la expresión con que se obtiene está involucrando un valor Null.
Si haces Null + 5 el resultado será Null; muchas operaciones sobre valores Null regresan como resultado Null. Me parece que eso es parte del estándar del lenguaje SQL. Sin embargo, revisando tu sentencia, no parece a simple vista que haya un valor Null involucrado. Más bien pareciera que la aparente función TIME_FORMAT no reconoce, o interpreta de forma inesperada, el formato que le estás dando. ¿Qué significa ese %i? Un abrazo selectivo. Al González. |
#3
|
|||
|
|||
Saludos Al Gonzales
Amigo gracias por responder, estoy usando MySQL 5.6.16 - MySQL Community Server (GPL).
Referente a los parametros de Time_Format segun la documentacion que revise en (http://www.techonthenet.com/mysql/fu...ime_format.php), tenemos que: Value Description %f Microseconds (000000 to 999999) %f is available starting in MySQL 4.1.1 %H Hour (00 to 23 generally, but can be higher) %h Hour (00 to 12) %I Hour (00 to 12) %i Minutes (00 to 59) %p AM or PM %r Time in 12 hour AM or PM format (hh:mm:ss AM/PM) %S Seconds (00 to 59) %s Seconds (00 to 59) %T Time in 24 hour format (hh:mm:ss) Es extraño, porque esa consulta arroja null en ciertos casos y en otros no. Un Abrazo |
#4
|
||||
|
||||
Mira el valor de hora_ini, seguro que es nulo en los casos en que el resultado es nulo.
|
#5
|
||||
|
||||
Cita:
Yo de MySQL no sé gran cosa. Lo evito siempre que es posible. |
#6
|
||||
|
||||
Cierto, no me había fijado en eso, entonces debe ser lo que has comentado antes, time_format
|
#7
|
||||
|
||||
Según puedes ver aquí, si un valor de tipo TIME es usado en un contexto numérico (como en la resta), el valor es convertido a un valor así:
10:41:36 => 104136 Al hacer la resta, en tu caso, obtienes: 193900 - 193837 = 63, que es lo que le pasas a TIME_FORMAT, pero 63 no es un valor correcto de tiempo y de ahí que te devuelva NULL. Usa las funciones adecuadas, tal como te comenta AgustinOrtu. Siguiendo el ejemplo de mamcx: http://sqlfiddle.com/#!9/9eecb7d/74248 LineComment Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
No me sale esta consulta ¿Por que? | rgstuamigo | MySQL | 3 | 02-02-2009 19:47:16 |
porque al imprimir con fast report 2.54, me sale una pagina en blanco ? | JuanErasmo | Impresión | 1 | 16-08-2007 19:25:24 |
Cuando imprimo con QReport sale pequeñito el preview, porque? | El_Raso | Impresión | 1 | 06-02-2007 13:14:56 |
Que no traiga null esta consulta, como? | El_Raso | Firebird e Interbase | 9 | 24-01-2006 20:58:39 |
No me sale lo que quiero en esta consulta... | El_Raso | SQL | 5 | 29-11-2005 08:46:45 |
|