Se vogliamo eliminare in una tabella gli spazi presenti in un campo, possiamo utilizzare la funzione trim.
Nel caso che non si mette la condizione where, l'aggiornamento sarà effettuato su tutti i record.
Qui di seguito un esempio di codice.
Update tabella
set CAmpo = trim(Campo)
Visualizzazione post con etichetta Oracle. Mostra tutti i post
Visualizzazione post con etichetta Oracle. Mostra tutti i post
lunedì 9 maggio 2016
martedì 12 aprile 2016
Oracle group by con count che restituisce 0 se non trova valori
L'esempio di query qui di seguito, illustra una tecnica di come utilizzare le parole chiavi di SQL per raggruppare dei campi e rilevare tramite il count il numero degli elementi per quel campo, nel caso che non trova valori visualizza 0.
Qui di seguito la query
Ringrazio l'amico Luca, per la disponibilità e soprattutto per il supporto :-D
Qui di seguito la query
SELECT s.descrizione , count(B.ID) Quantita, sum(B.importo) Totali
FROM TabellaS s LEFT JOIN (SELECT P.ID, importo FROM
TabellaP P INNER JOIN TabellaT T ON P.IDT = T.IDT WHERE
Data BETWEEN TO_DATE ('11/01/2013', 'dd/mm/yyyy')
AND TO_DATE ('11/022013', 'dd/mm/yyyy') ) B ON s.IDS = B.IDS
AND TO_DATE ('11/022013', 'dd/mm/yyyy') ) B ON s.IDS = B.IDS
WHERE s.IDS IN (15,22,23,13,24,16,14)
GROUP BY s.descrizione
ORDER BY s.descrizione
Ringrazio l'amico Luca, per la disponibilità e soprattutto per il supporto :-D
lunedì 14 dicembre 2015
Oracle Top
In Oracle tramite la parola chiave ROWNUM possiamo limitare l'utilizzo dei record, simile alla parola chiave top di SQl Server.
Qui di seguito un esempio.
SELECT *
FROM MiaTabella
WHERE ROWNUM <50 p="">50>
Qui di seguito un esempio.
SELECT *
FROM MiaTabella
WHERE ROWNUM <50 p="">50>
giovedì 24 ottobre 2013
Oracle paging speed
Qui di seguito si riporta una tecnica di come ottimizzare una query con paginazione.
In particolare il tempo di esecuzione è veloce.
Il parametro 1*20 indica la pagina (1) per il numero dei record (20 per ogni estrapolazione) mentre la parte 1-1 il numero della pagina in cui si trova.
SELECT * FROM
(
SELECT a.*, rownum r
FROM
(
SELECT * FROM NomeTabella WHERE Campo = 'valore' order by campo desc
) a
WHERE rownum < ((1 * 20) + 1 )
)
WHERE r >= (((1-1) * 20) + 1)
In particolare il tempo di esecuzione è veloce.
Il parametro 1*20 indica la pagina (1) per il numero dei record (20 per ogni estrapolazione) mentre la parte 1-1 il numero della pagina in cui si trova.
SELECT * FROM
(
SELECT a.*, rownum r
FROM
(
SELECT * FROM NomeTabella WHERE Campo = 'valore' order by campo desc
) a
WHERE rownum < ((1 * 20) + 1 )
)
WHERE r >= (((1-1) * 20) + 1)
martedì 8 ottobre 2013
Oracle Upper SQL Like
Nell'eventualità che dobbiamo effettuare una select per verificare se il valore di un campo è uguale ad un valore, possiamo utilizzare la funzione upper per rendere tutto simile.
Qui di seguito si riporta un frammento di codice:
Select * From NomeTabella
Where UPPER(NomeCampo) like '%PROVA%'
Qui di seguito si riporta un frammento di codice:
Select * From NomeTabella
Where UPPER(NomeCampo) like '%PROVA%'
domenica 15 settembre 2013
Oracle Get name colums select
La query qui di seguito, illustra una tecnica che rileva i nomi delle colonne presenti in una tabella, denominata "NomeTabella"
SELECT column_name
FROM ALL_TAB_COLUMNS
WHERE table_name = 'NomeTabella'
SELECT column_name
FROM ALL_TAB_COLUMNS
WHERE table_name = 'NomeTabella'
sabato 6 aprile 2013
Oracle concatenare colonne
In una query select nel caso in cui si vuole aggregare in una colonna due o più campi e/o del testo bisogna usare il simbolo ||, che in Sql Server corrisponde in +
Esempio
Oracle
Select campoA || ' testo ' || campoB from Tabella
Sql Server
Select campoA + ' testo ' + campoB from Tabella
Esempio
Oracle
Select campoA || ' testo ' || campoB from Tabella
Sql Server
Select campoA + ' testo ' + campoB from Tabella
martedì 5 febbraio 2013
Oracle paginazione tramite Rownum
La funzione RowNum di oracle, può tornare utile nel caso che dobbiamo effettuare la paginazione dei dati, molto utile in caso di utilizzo di griglie e gestione dei dati.
Qui di seguito un esempio, che visualizza i primi 20 record di una query, in base ad un criterio di ricerca.
Select * From (SELECT rownum RowN, a.* FROM TabellaA Tab where Tab.ID =38 order by datainserimento ) Tab where ID =38 AND RowN> 0 and RowN< 20
Qui di seguito un esempio, che visualizza i primi 20 record di una query, in base ad un criterio di ricerca.
Select * From (SELECT rownum RowN, a.* FROM TabellaA Tab where Tab.ID =38 order by datainserimento ) Tab where ID =38 AND RowN> 0 and RowN< 20
venerdì 28 settembre 2012
Oracle IsNull = NVL
In oracle per utilizzare la funzione IsNull che viene utilizzata in Microsoft Sql Server è NVL, che equivale a quella del database Sql Server.
martedì 4 settembre 2012
Oracle concatenare stringhe
In Oracle per concatenare le stringhe si usa il simbolo ||. Qui di seguito si riporta un esempio
Select Campo1 ||' - '|| campo2 from NomeTabella
Select Campo1 ||' - '|| campo2 from NomeTabella
Iscriviti a:
Post (Atom)