Buon giorno lista,
sto scrivendo un db con LibreOffice Base 6.0 e devo concatenare due
campi (DISCENTE e NATO) contenuti nella tabella T_DISCENTI utilizzando SQL
Per esempio DISCENTE=MARIO ROSSI e NATO=20/08/1970
In questo momento sono riuscito a concatenare i due campi usando le
seguenti istruzioni
SELECT "DISCENTE" + "NATO" FROM "T_DISCENTI" ORDER BY ( "DISCENTE" +
"NATO" ) ASC
Il risultato è MARIO ROSSI20/08/1970
Avrei bisogno di inserire uno spazio tra il nome e la data per ottenere
MARIO ROSSI 20/08/1970
è possibile modificare il codice SQL per ottenere ciò di cui avrei bisogno?
stringhe in SQL si mettono sotto apici (''), le virgolette ("") invece
possono e talvolta *devono* essere usati (dipende dal DB) per indicare
identificatori.
L'ordinamento lo spezzerei nelle due colonne singole "DISCENDENTE" che
"NATO" in ordine alfabetico.
SELECT "DISCENTE" + ' ' + "NATO" FROM "T_DISCENTI" ORDER BY "DISCENTE"
ASC, "NATO" ASC
Il segno '+' dovrebbe fungere da concatenatore sulle stringhe, se questo
non andasse provare con il circumflex (certi DB lo richiedevano forse
ora non più):
SELECT "DISCENTE" ^ ' ' ^ "NATO" FROM "T_DISCENTI" ORDER BY "DISCENTE"
ASC, "NATO" ASC
In effetti tutti i doppi-apici " " nei comandi dovrebbero servire solamente
per preservare il caseing (Maiuscolo/minuscolo) senza alterazioni; se la
definizione del database, come appare, è tutta in maiuscolo, dovrebbero
potersi omettere. Diverso invece il caso di nomi di oggetti (tabelle,
colonne, ...) che siano scritti in minuscolo o misto.