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 users+help@it.libreoffice.org
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
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.