![]() |
if "0" then null, como?
Debo de aceptar que soy un novato en esto del SQL y debido ha eso biene mi pregunta:
como puedo hacer para que en una consulta sql en vez de "0" aparesca null( o sea cambiado por null) :confused: :confused: :confused: original: codi_prod seri1 seri2 seri3 seri4 total coecmsm 0 1 0 0 1 ideal: codi_prod seri1 seri2 seri3 seri4 total coecmsm 1 1 (no es necesario que sume) :D |
si usas SQL Server puedes usar ISNULL
select ISNULL( campo, 0) FROM Tabla |
y para FireBird 1.5?
Lo que quiero es: un valor "0" volverlo null ;) |
Puedes crear una funcion que te convierta los 0 a NULL, haces una libreria con ella y la pones en las UDF del firebird y despues haces la cunsulta usando esa función.
Algo asín : SELECT Cero2Null(seri1) AS seri1, Cero2Null(seri2) AS seri2 FROM Tabla_Seri WHERE... va de maravilla, yo lo uso (con otra función claro está) y es la caña. Saludos |
mmm....
"Siento" que lo dices es correcto :p
Pero la verdad es que no se como realizar todo lo que me escribiste; exactamente desde el comienzo hasta "Algo asín :" luego para adelante no tengo problema, luego me puse a revisar la udf de firebird pero no entendi ni un poquito :confused: :confused: Realmente te agradesería si me ayudaras a crear esa funcion ;) |
proba con algo asi:
Código:
CREATE PROCEDURE Cero2Null (VALOR INTEGER) RETURNS (VALOR INTEGER) Eso si, tambien es mas lento. |
Has mirado las nuevas funciones del Estandar SQL NullIf, Case, Coalesce? mira los Release Notes y lo entenderas..
|
Un gallifante para Delfino ;) eso nos pasa por no leer... muy bien maestro...
Aunque ya no viene al caso te cuento lo de las UDF. Es algo parecido a lo que dice Crandel pero más cómodo para ser usado en todas las aplicaciones: 1º.- Creas una libreria en delphi (en este caso intbase_star.dll) Código:
library intbase_star; 3.- En el SQL de creación de la DB añades al principio: Código:
DECLARE EXTERNAL FUNCTION codext Espero que este ejemplo te sirva para entenderlo, a mi me lo pasaron tal cual e hice las modificaciones necesarias para mi prog. (Fon gracias por el codigo) |
Hola! la verdad no se mucho de FireBird, pero si algo sobre SQL Server y tambien pudiste hacerlo en una sola consulta utilizarando un CASE (si FireBird 1.5 lo soporta, que pensaría que si) , es decir algo asi:
|
La franja horaria es GMT +2. Ahora son las 10:57:22. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi