Il typeof()
di SQLite La funzione consente di determinare il tipo di dati di un'espressione.
Un'espressione può essere uno dei seguenti tipi di dati:
- nulla
- intero
- reale
- testo
- blob
Esempio
Ecco un esempio da dimostrare.
SELECT typeof('Avocado');
Risultato:
text
Eccone altri:
SELECT
typeof(12),
typeof(X'12'),
typeof(1.23),
typeof(NULL);
Risultato:
typeof(12) typeof(X'12') typeof(1.23) typeof(NULL) ---------- ------------- ------------ ------------ integer blob real null
Esempio di database
SQLite utilizza un sistema di tipi dinamici, al contrario della tipizzazione statica come quella utilizzata nella maggior parte degli altri sistemi di gestione di database relazionali.
In SQLite, il tipo di dati di un valore è associato al valore stesso, non al suo contenitore. Ciò significa che una colonna può contenere dati di vario tipo. Ad esempio, una riga potrebbe contenere del testo in quella colonna, un'altra riga potrebbe contenere un numero intero.
Ecco un esempio che dimostra questo concetto.
Prendi la seguente tabella chiamata Prodotti :
ProductId ProductName Price ---------- -------------- ---------- 1 Homer's Widget 10.0 2 Peter's Widget 20.75 3 Bob's Widget 15.0 4 777
In questa tabella, i dati nell'ultima riga sembrano essere diversi dagli altri.
Vediamo cosa è il typeof()
la funzione ritorna.
SELECT
ProductId,
typeof(ProductName),
typeof(Price)
FROM Products;
Risultato:
ProductId typeof(ProductName) typeof(Price) ---------- ------------------- ------------- 1 text real 2 text real 3 text real 4 integer null
Come previsto, l'ultima riga restituisce tipi di dati diversi per NomeProdotto e Prezzo colonne.
Espressioni
Il typeof()
può essere utile per vedere quale tipo di dati potrebbe restituire una determinata espressione.
SELECT
typeof(1),
typeof(1 + 1.5),
typeof(1 + NULL);
Risultato:
typeof(1) typeof(1 + 1.5) typeof(1 + NULL) ---------- --------------- ---------------- integer real null