Categoria: database

Duplicare una tabella oracle

Se avete la necessità di duplicare una tabella di un database Oracle (o anche Mysql) a scopo di backup in caso di modifica a tale tabella si può usare il seguente costrutto: Se invece avete bisogno di copiare solo la strutture e non i dati si può usare questo comando sql: Attenzione però che la […]

Differenza tra due date in Oracle

Supponiamo di avere una tabella su Oracle (l’esempio che sto trattando qui fa riferimento ad Oracle Database 12c) che presenta dei campi di tipo “date” e desiderate estrarre i dati da queste colonne facendone la differenza. Prima di partire con la classica select è bene verificare in che formato sono visualizzate le date nel nostro […]

Espressioni Regolari in Oracle

Supponiamo di avere un campo varchar e vogliamo verificare se tutti i valori inseriti sono numerici o anche alfanumerici (in pratica voglio simulare una funzione del tipo is_number). La soluzione al problema può essere la creazione di una funzione isnumeric che restituisce true se il campo è un numero. Ma se avete un database oracle […]

Oracle options installed

Se avete la necessità di ricavare le options installate con la vostra versione oracle (le options sono estensioni delle funzionalità del database; tipo Oracle Spatial, Oracle OLAP, Partitioning, ecc, ecc) è sufficiente eseguire questa query sql con i privilegi di SYS o DBA. Qui potete trovare un elenco delle Oracle options disponibili.

Trasposizione di una colonna in righe

Ritorno ancora una volta sul problema della trasposizione di una colonna in riga applicato al caso di una query sql ma in questo caso voglio limitare il numero di parametri passati nella clausola where per controllare meglio il risultato della procedura e per limitare l’uso delle risorse di sistema. Quindi da un’unica colonna di valori […]

Comandi in sqlplus

Se sieti abituati alla shell di linux, quando vi trovate di fronte al prompt di sqlplus si rimane un po’ delusi dal fatto che non si possono usare tutte quelle scorciatoie da tastiera come eravamo abituati in bash (ad esempio il Ctrl-R per ricerca di comandi nell’history, oppure semplicemente l’editing dei comandi tramite i tasti […]

Trasposizione di una colonna in riga

Se avete la necessità di trasformare un elenco di valori da un’unica colonna a un’unica riga è sufficiente usare il comando xargs che legge dallo standard input o pipe e restituisce in output (di default esegue il comando echo) la stessa stringa eliminando il ritorno a capo. Personalmente trovo molto utile questo suggerimento quando devo […]

Confronto di date in Oracle: to_date and to_char function

Supponiamo di avera una tabella con una colonna di tipo date e di dover estrarre dei record impostando una condizione sulla data. La soluzione migliore è di confrontare le date, quindi bisogna convertire in data ( to_date) la condizione da confrontare. Ad esempio se ho una colonna “start_date” di tipo date, la query dovrà essere […]