|
||
|
![]() |
![]() |
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
Herramientas |
#1
|
||||
|
||||
sqlite query - Función Max
Hola,
Tengo un problema con una consulta a base de datos sqlite. La query es muy sencilla: SELECT MAX (INIT_DATE) INIT_DATE FROM TABLE; Cuando ejecuto la query, y la tabla está vacía, me devuelve un registro, cuando en realidad debería devolver cero registros. He intentado ejecutar la consulta de dos maneras distintas: Código:
cursor = db.query(true, "TABLE", new String[] {"MAX(INIT_DATE) AS INIT_DATE"}, null, null, null, null, null, null); cursor = db.rawQuery("SELECT MAX(INIT_DATE) AS INIT_DATE FROM TABLE", null); ¿Puede alguien ayudarme? Muchas gracias |
|
#2
|
||||
|
||||
No se quien te ha dicho que el MAX no devuelve nada si no hay registros, porque la función MAX (y la MIN, y casi cualquier función de grupo, incluido COUNT que devuelve 0) si no hay registros devuelve NULL.
|
#3
|
||||
|
||||
Hola,
Si me devolviera un cursor igual a NULL sería perfecto, pero el problema es que me devuele un objeto de tipo cursor distinto a nulo. Si luego llamo al método getCount del cursor, me devuelve 1, cuando creo que debería devolverme cero. Gracias |
#4
|
||||
|
||||
Ok, me diste la pista.
Efectivamente cuando se utiliza una función de grupo como MAX, el cursor tiene un registro. Lo que hay que hacer es utilizar la función isNull para ver si el campo es nulo o no. Gracias |
#5
|
||||
|
||||
No se si llego tarde, para ayudarte, creo que si... Pero bueno, queria comentar, que las funciones de grupo, tipo MAX, no se pueden mezclar con las que devuelven registros... por lo que recuerdo... Por lo menos en otros entornos de BBDD, como oracle... en mysql.. no tengo ni idea si se puede. pero por logica no deberia.. porque una funcion de grupo devuelve 1 resultado, y el resto devuelve 1 o varios registros, por lo que es incompatible uno con lo otro.. no??? a lo mejor estoy ekivocado.. no se..?¿?!!! Salu2 |
![]() |
![]() |
||||||
|