sql >> Databáze >  >> RDS >> SQLite

Jak Typeof() funguje v SQLite

SQLite typeof() funkce umožňuje určit datový typ výrazu.

Výraz může být jedním z následujících datových typů:

  • null
  • celé číslo
  • skutečný
  • text
  • blob

Příklad

Zde je příklad k demonstraci.

SELECT typeof('Avocado');

Výsledek:

text

Zde jsou některé další:

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

Výsledek:

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

Příklad databáze

SQLite používá dynamický typový systém, na rozdíl od statického typování, jaké se používá ve většině ostatních systémů pro správu relačních databází.

V SQLite je datový typ hodnoty spojen se samotnou hodnotou, nikoli s jejím kontejnerem. To znamená, že sloupec může obsahovat data různých typů. Například jeden řádek může mít v tomto sloupci text, jiný řádek může obsahovat celé číslo.

Zde je příklad, který tento koncept demonstruje.

Vezměte si následující tabulku s názvem Produkty :

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

V této tabulce se údaje v posledním řádku zdají být odlišné od ostatních.

Podívejme se, co je typeof() funkce vrátí.

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

Výsledek:

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

Podle očekávání vrací poslední řádek různé typy dat pro ProductName a Cena sloupce.

Výrazy

typeof() Funkce může být užitečná, abyste viděli, jaký datový typ může daný výraz vrátit.

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

Výsledek:

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

  1. Jak uložit uuid jako číslo?

  2. Zkraťte (ne zaokrouhlujte) desetinná místa v SQL Server

  3. SQL Server REPLACE() vs TRANSLATE():Jaké jsou rozdíly?

  4. Jak exportovat databázi pomocí phpMyAdmin