sql >> Database >  >> RDS >> SQLite

Hoe Typeof() werkt in SQLite

De SQLite typeof() functie stelt u in staat het gegevenstype van een uitdrukking te bepalen.

Een uitdrukking kan een van de volgende gegevenstypen zijn:

  • null
  • geheel getal
  • echt
  • tekst
  • blob

Voorbeeld

Hier is een voorbeeld om te demonstreren.

SELECT typeof('Avocado');

Resultaat:

text

Hier zijn er nog meer:

SELECT 
  typeof(12),
  typeof(X'12'),
  typeof(1.23),
  typeof(NULL);

Resultaat:

typeof(12)  typeof(X'12')  typeof(1.23)  typeof(NULL)
----------  -------------  ------------  ------------
integer     blob           real          null        

Databasevoorbeeld

SQLite gebruikt een dynamisch type systeem, in tegenstelling tot statisch typen zoals wat wordt gebruikt in de meeste andere relationele databasebeheersystemen.

In SQLite wordt het datatype van een waarde geassocieerd met de waarde zelf, niet met zijn container. Dit betekent dat een kolom gegevens van verschillende typen kan bevatten. Een rij kan bijvoorbeeld tekst in die kolom bevatten, een andere rij kan een geheel getal bevatten.

Hier is een voorbeeld dat dit concept demonstreert.

Neem de volgende tabel genaamd Producten :

ProductId   ProductName     Price     
----------  --------------  ----------
1           Homer's Widget  10.0      
2           Peter's Widget  20.75     
3           Bob's Widget    15.0      
4           777                       

In deze tabel lijken de gegevens in de laatste rij te verschillen van de andere.

Laten we eens kijken wat de typeof() functie keert terug.

SELECT 
  ProductId,
  typeof(ProductName),
  typeof(Price)
FROM Products;

Resultaat:

ProductId   typeof(ProductName)  typeof(Price)
----------  -------------------  -------------
1           text                 real         
2           text                 real         
3           text                 real         
4           integer              null         

Zoals verwacht, retourneert de laatste rij verschillende gegevenstypen voor de ProductName en Prijs kolommen.

Uitdrukkingen

De typeof() functie kan handig zijn om te zien welk gegevenstype een bepaalde uitdrukking kan retourneren.

SELECT 
 typeof(1),
 typeof(1 + 1.5),
 typeof(1 + NULL);

Resultaat:

typeof(1)   typeof(1 + 1.5)  typeof(1 + NULL)
----------  ---------------  ----------------
integer     real             null            

  1. Deel 2 – Een groot databasediagram organiseren?

  2. Hoe Airflow te verbinden met de Oracle-database

  3. Hoe kan ik de kolommen van twee tabellen samenvoegen tot één uitvoer?

  4. Realtime operationele analyse en niet-geclusterde kolomopslagindex