hacer una select para valores nulos
Publicado por maria (4 intervenciones) el 08/08/2008 12:55:50
Problema con una select con valores nulos.
Hola!
Estoy haciendo una select que me recupera un objeto en base de datos a partir de unos parametros de busqueda de un formulario, mi problema es al realizar la select algunos de estos valores pueden venir a nulo porque el usuario no haya introducido ningun valor y por tanto al hacer la query no los deberia tener en cuenta. Hay algun modo con alguna funcion de decir en la select que si el valor es nulo no lo tenga en cuenta al hacer la query?
En codigo :
String consulta = "select * from user where codigo = '" + objeto.getCodigo() +
"' and nombre = '" + objeto.getNombre() ";
si por ejemplo objeto.nombre es nulo porque el usuario no haya introducido el nombre, la query que deberia hacer sería -> select * from user where codigo = codigo;
en cambio si el usuario ha introducido un nombre sería -> select * from user where codigo = objeto.codigo and nombre = "objeto.nombre";
De momento lo unico que se ma ha ocurrido es ir anidando if comprobando si es nulo e ir contruyendo poco a poco la query pero creo que tiene que haber una forma mucho mejor de hacerlo.
Gracias
Hola!
Estoy haciendo una select que me recupera un objeto en base de datos a partir de unos parametros de busqueda de un formulario, mi problema es al realizar la select algunos de estos valores pueden venir a nulo porque el usuario no haya introducido ningun valor y por tanto al hacer la query no los deberia tener en cuenta. Hay algun modo con alguna funcion de decir en la select que si el valor es nulo no lo tenga en cuenta al hacer la query?
En codigo :
String consulta = "select * from user where codigo = '" + objeto.getCodigo() +
"' and nombre = '" + objeto.getNombre() ";
si por ejemplo objeto.nombre es nulo porque el usuario no haya introducido el nombre, la query que deberia hacer sería -> select * from user where codigo = codigo;
en cambio si el usuario ha introducido un nombre sería -> select * from user where codigo = objeto.codigo and nombre = "objeto.nombre";
De momento lo unico que se ma ha ocurrido es ir anidando if comprobando si es nulo e ir contruyendo poco a poco la query pero creo que tiene que haber una forma mucho mejor de hacerlo.
Gracias
Valora esta pregunta


0