SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Jak działa Typeof() w SQLite

SQLite typeof() funkcja pozwala określić typ danych wyrażenia.

Wyrażenie może być jednym z następujących typów danych:

  • brak
  • liczba całkowita
  • prawdziwe
  • tekst
  • kropla

Przykład

Oto przykład do zademonstrowania.

SELECT typeof('Avocado');

Wynik:

text

Oto kilka innych:

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

Wynik:

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

Przykład bazy danych

SQLite używa dynamicznego systemu typów, w przeciwieństwie do typowania statycznego, takiego jak w większości innych relacyjnych systemów zarządzania bazami danych.

W SQLite typ danych wartości jest powiązany z samą wartością, a nie z jej kontenerem. Oznacza to, że kolumna może zawierać dane różnego typu. Na przykład jeden wiersz może zawierać tekst w tej kolumnie, inny wiersz może zawierać liczbę całkowitą.

Oto przykład, który demonstruje tę koncepcję.

Weź poniższą tabelę o nazwie Produkty :

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

W tej tabeli dane w ostatnim wierszu wydają się różnić od pozostałych.

Zobaczmy, co typeof() funkcja powraca.

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

Wynik:

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

Zgodnie z oczekiwaniami ostatni wiersz zwraca różne typy danych dla ProductName i Cena kolumny.

Wyrażenia

typeof() funkcja może być przydatna, aby zobaczyć, jaki typ danych może zwrócić dane wyrażenie.

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

Wynik:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Niestandardowy kalendarz i przypomnienie na Androida

  2. Jak Group_Concat() działa w SQLite

  3. Jak dodać określoną liczbę pustych wierszy w sqlite?

  4. Tworzenie wielotabelowych baz danych Android SQLite

  5. Zalecany sposób / polecenie odczytania danych z serwisu internetowego, przeanalizowania tych danych i wstawienia ich do bazy danych SQLite