ciao,
ho risolto. spero sia utile anche ad altri appasionati di Base.
in pratica lo stesso effetto di LPAD si ottiene con CASEWHEN
(corrisponde a IIF di MSAccess).
la condizione da impostare è: se il mese contenuto nel campo
data_operazione è inferiore a 10 fai apparire uno zero altrimenti nulla
e si ottiene cosi':
CASEWHEN( MONTH( "data_operazione" ) < 10, '0', '' )
l'ultimo parametro è il cosidetto blank cioè nulla tra due apostofi.
il tutto va fatto seguire da :
MONTH( "data_operazione" )
per unire le due funzioni che restituiscono ciascuna una stringa si
possono usare i due "pipe": ||
(corrisponde alla & di MS Access).
quindi la formula completa è:
CASEWHEN( MONTH( "data_operazione" ) < 10, '0', '' ) || MONTH(
"data_operazione" )
ciao
Il 10/11/2011 23:20, ML Roberto Ravani ha scritto:
ciao,
grazie della risposta.
Se è come dici dovrebbe funzionare anche una semplice Lpad ('1', 2, '0') ma il
messaggio di errore è sempre
"accesso negato", "Codice di errore: -33"
Inizio a pensare che LPAD (e RPAD) non siano supportate in LibreOffice Base
3.4.2. e che il
motore sottostante (HSQL) sia una versione inferiore rispetto alla 2.2 cioè
quella delle istruzioni che ho scaricato.
Qualcuno ha mai utilizzato LPAD in Libò ? o conosce una funzione che permetta
di far precedere con una stringa (o numero) il
contenuto di un campo se la sua lunghezza è inferiore a x ?
Roberto
Re: [it-users] funzione LPAD (e RPAD) in LibreOffice Base
valerio
Thu, 10 Nov 2011 05:53:57
ciao,
non sono sicuro, ma penso che la funzione lpad richieda una stringa,
non un numero: quindi puoi trasformare in stringe il numero, oppure
vedere se esiste una funzione simile per i numeri.
valerio
Il 09/11/2011 22:33, ML Roberto Ravani ha scritto:
Buongiorno a tutti,
sono un appasionato di database e vorrei abbandonare Access.
Leggendo la documentazione di LibreOffice Base sono arrivato alla
Hyper SQL Guide ( http://hsqldb.org/web/hsqlDocsFrame.html). Li' ho
trovato la funzione LPAD ma non riesco ad utilizzarla.
In particolare vorrei, all'interno di una Query o di una Vista, creare
un campo calcolato (chiamiamolo 'mese') che mostri il mese relativo
alla data inserita nel campo 'Data_operazione'. Utilizzando la
funzione MONTH riesco ad ottenere il numero cercato.
in pratica, la versione SQL della query è:
SELECT "Data_operazione", MONTH( "Data_operazione" ) AS "mese" FROM
"movim_banche"
Vorrei però che il campo "mese" indichi sempre un numero di due cifre
e quindi, per i mesi inferiori a 10 dovrebbe iniziare con un zero.
Se non ho capito male povrei utilizzare la funzione LPAD nel seguente
modo: LPAD( campo, 2, '0') però finora riesco ad ottenere solo
messaggi come il seguente:
Non è stato possibile caricare i contenuti.
Stato SQL: S1000
Codice di errore: -33
Accesso negato:
LPAD in statement [SELECT "Data_operazione", LPAD( MONTH(
"Data_operazione" ), 2, '0' ) AS "mese" FROM "movim_banche"]
Qualcuno può darmi una dritta.
Grazie in anticipo
Roberto
--
Unsubscribe instructions: E-mail to [email protected]
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/it/users/
All messages sent to this list will be publicly archived and cannot be deleted