Hola Francisco

Francisco Martagón Gordillo escribió:
> El dom, 14-12-2008 a las 20:47 -0200, Ariel Constenla-Haile escribió:
> 
>>> Lo he intentado con:
>>> "apellido1"+" "+"apellido2"
>>> y no funciona.
>> las comillas dobles son para nombres de tablas, campos
>> Las simples son para literales tipo cadena
>> Por ende debe ser
>>
>> "campo1" + ' ' + "campo2"
>>
>> seleccionando previamente el modo SQL nativo/directo [pues si me acuerdo
>> bien no funciona con el parser de OOo Base], prueba con
> 
> ¿Dónde se selecciona SQL nativo/directo?


dependiendo qué estás haciendo:

* en un formulario: emplea el navegador de "Propiedades". P.e.
selecciona el "Navegador de Formularios" (se hace desde una de las
barras de herramientas para formularios), en la pestaña "Data" [Datos]
tienes una opción que dice "Analyze SQL command" [Analizar la
instrucción SQL]. Lo mismo se aplica a una lista, etc.

* en el "Query Designer" [Diseñador de consulta (sic)], hay un botón en
la barra de herramientas que dice SQL, con un signo verde de OK (una V);
también puedes seleccionar el menú "Edit" - "Run SQL command directly".
ATENCIÓN: si seleccionas SQL nativo, no podrás "diseñar" la consulta en
el modo de vista con columnas que permiten seleccionar campos, etc. En
cambio, deberás escribir el comando SQL tú mismo [IMHO esto es más
rápido y fácil, una vez que sabes SQL].

>> SELECT "nombre" + ' ' + "apellido" AS nombre_completo FROM CLIENTES;
>>
> Esto no me ha funcionado

Prueba de nuevo, aquí me funciona siempre.

También puedes emplear el concatenador estándar en SQL ||


SELECT "id_cliente", "apellido" || ', ' || "nombre" AS CLIENTE FROM CLIENTES


esto crea una columna NOMBRE que para elemento contiene

Apellido, Nombre


EL concatenador || es más estándar/soportado que el signo +
Ambas formas funcionan en HSQLDB, siempre que sea SQL nativo.

>> y prueba también con CONCAT() anidados:
>>
>>
>> CONCAT( campo1, CONCAT(' ', campo2) )
>>
>> por ejemplo
>>
>> SELECT CONCAT( "nombre", CONCAT( ' ', "apellido" ) ) AS nombre_completo
>> FROM CLIENTES;
> 
> Esto sí me ha funcionado.


Resumen: hay tres modos (en HSQLDB) de concatenar


SELECT "id_cliente", "nombre" + ' ' + "apellido" AS nombre_completo FROM
CLIENTES;

SELECT "id_cliente", "nombre" || ' ' || "apellido" AS nombre_completo
FROM CLIENTES;

SELECT "id_cliente", CONCAT( "nombre", CONCAT( ' ', "apellido" ) ) AS
nombre_completo FROM CLIENTES;



> Un saludo, no sabes cuánto me está ayudando.

Gracias y suerte.
Saludos
Ariel.


-- 
Ariel Constenla-Haile
La Plata, Argentina


"Aus der Kriegsschule des Lebens
                - Was mich nicht umbringt,
        macht mich härter."
                Nietzsche Götzendämmerung, Sprüche und Pfeile, 8.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Responder a