Power Builder - Comparar Nulls PB11.5

   
Vista:

Comparar Nulls PB11.5

Publicado por HugoOrozco (4 intervenciones) el 09/11/2010 22:13:47
Hola a todos
Estoy trabajando en la versión 11.5 de Power Builder versión Enterprise y Sql Server 2000. Sucede que tengo una aplicaron en pb7.0 y estamos migrando a 11.5, hay dataWindows que en su sintaxis tiene sentencias de este tipo (select * from tabla where tabla.columna = null).En la versión 7.0 usando “Conexión Nativa de SQL Server”, esta consulta en el dw me devuelve aproximadamente 100 filas. En la versión 11.5 usando “ADO.net”, no me devuelve datos. Creo que el tema va porque en la primera opción considera “set ansi_nulls off” de esta forma esta consulta si es valida. Si “set ansi_nulls on” esta consulta no es válida y debo cambiar por ( select * from tabla where tabla.columna is null ). Como hago o donde le digo para que en la versión 11.5 me considere “set ansi_nulls off”. Por tu ayuda muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Comparar Nulls PB11.5

Publicado por ERICK OMAR (11 intervenciones) el 09/11/2010 23:33:10
Bueno en realidad lo que yo en una ocasión fue colocar lo siguiente

select * from tabla
where isnull(campo, 'N') = 'N'

Con eso lo que haces es darle un valor a un campo nulo y lo comparas nada mas con eso estarías solucionando el problema que tienes.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comparar Nulls PB11.5

Publicado por JeinnerH (638 intervenciones) el 10/11/2010 15:49:31
Me parece bien la solución.

Nada más para agregar a lo señalado y sugiriendo, debieran evitar el uso del Select * a menos de que sea necesario de esta forma, porque esto aumenta la carga de la base de datos.

Lo mejor sería, por ejemplo:
Select Campo1, Campo2, etc.
From .....

O, debiera ser más eficiente por ejemplo un:
Select Sum(1) Que un Select Sum(*)

Es posible que esto sea un mito, porque no lo he comprobado, pero desde hace tiempo se me habìa indicado que es más eficiente hacer un Select con el nombre de los campos necesarios que con el asterisco.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comparar Nulls PB11.5

Publicado por eduardo.v (34 intervenciones) el 10/11/2010 17:58:12
...no es un mito amigo, mientras menos columnas tenga un select va mostrar los resultados mas rapido por eso en algunos casos es mas eficiente colocar sub-consultas como columnas en vez de hacer join entre tablas puesto si solo necesitas un dato de una tabla no es necesario fabricar la relacion entre tablas ...todo esto esta en la documentacion del SQL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comparar Nulls PB11.5

Publicado por JeinnerH (638 intervenciones) el 10/11/2010 18:10:15
Excelente Eduardo. Gracias por la aclaración.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comparar Nulls PB11.5

Publicado por Hugo Orozco (4 intervenciones) el 12/11/2010 01:51:35
Gracias Erick. Esa solucion ya la habiamos visto, pero no queremos llegar a eso ya que tendriamos que buscar Todos los datawindows, codigo embebido y sps que comparan = NULL y cambiar. Al ser la aplicacion grande se vuelve mas complejo.

Jeinner tienes razon es mejor utilizar las columnas especificas. Quiza puse mal el ejemplo: select c1,c2 from table where columna = null.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comparar Nulls PB11.5

Publicado por carlos ruiz (8 intervenciones) el 22/11/2010 15:04:05
Tuve el mismo problema al migrar de PB de 9.0.3 a 11.5. Tuve que cambiar mis sentencias SQL de

WHERE campo = null a WHERE campo is null
WHERE campo <> null a WHERE campo is not null

Saludos
Carlos Ruiz
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comparar Nulls PB11.5

Publicado por Hugo Orozco (4 intervenciones) el 12/11/2010 01:50:17
Gracias Erick. Esa solucion ya la habiamos visto, pero no queremos llegar a eso ya que tendriamos que buscar Todos los datawindows, codigo embebido y sps que comparan = NULL y cambiar. Al ser la aplicacion grande se vuelve mas complejo.

Jeinner tienes razon es mejor utilizar las columnas especificas. Quiza puse mal el ejemplo: select c1,c2 from table where columna = null.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar