Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 30-12-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Delphitest.

Con seguridad que alguno de las columnas intervinientes tiene valor NULL. Cualquier concatenación en el que intervenga una columna con valor NULL, dará como resultado NULL.

Poniendo previamente en NULL un nombre de la tabla EMPLOYEE,
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  with ADOQuery1 do
  begin
    SQL.Clear;
    SQL.Add('SELECT EMPNO, FIRSTNAME + '' '' + LASTNAME AS FULLNAME,');
    SQL.Add('SALARY FROM EMPLOYEE');
    Open;
  end;
end;
el código anterior dá este resultado:


La solución para que no aparezcan líneas vacías es evaluar los valores de ambos campos. Dado que no uso Access para mis trabajos, tuve que leer un poco para encontrar la equivalencia a la función COALESCE que según leí es SWITCH.
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
const
  SQLSTR = 'SWITCH(FIRSTNAME IS NULL, ''----'', FIRSTNAME IS NOT NULL, FIRSTNAME)'
            + '+'' ''+' +
            'SWITCH(LASTNAME IS NULL, ''----'', LASTNAME IS NOT NULL, LASTNAME)';
begin
  with ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add(Format('SELECT EMPNO,%s AS FULLNAME, SALARY',[SQLSTR]));
    SQL.Add('FROM EMPLOYEE');
    SQL.Add(Format('ORDER BY %s',[SQLSTR]));
    Open;
  end;
end;
La diferencia luego de hacer click en Button1:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta indice del campo de una grilla en campo calculado ericgs OOP 2 19-10-2012 17:25:15
Campo Calculado novato_erick SQL 1 14-06-2011 23:06:02
Campo Calculado!!! Ledian_Fdez OOP 1 03-10-2007 22:10:01
Pasar un campo calculado a un campo del mismo DbGrid maravert Conexión con bases de datos 3 12-05-2006 00:31:30
Campo de bd calculado davidgaldo MS SQL Server 3 20-05-2005 15:50:22


La franja horaria es GMT +2. Ahora son las 04:09:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi