SQLite
 sql >> база данни >  >> RDS >> SQLite

Как работи Typeof() в SQLite

SQLite typeof() функцията ви позволява да определите типа данни на израз.

Изразът може да бъде един от следните типове данни:

  • нула
  • цяло число
  • истински
  • текст
  • blob

Пример

Ето пример за демонстрация.

SELECT typeof('Avocado');

Резултат:

text

Ето още няколко:

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

Резултат:

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

Пример за база данни

SQLite използва система с динамични типове, за разлика от статичното типизиране като това, което се използва в повечето други системи за управление на релационни бази данни.

В SQLite типът данни на стойност е свързан със самата стойност, а не с нейния контейнер. Това означава, че една колона може да съдържа данни от различни типове. Например, един ред може да има текст в тази колона, друг ред може да съдържа цяло число.

Ето пример, който демонстрира тази концепция.

Вземете следната таблица, наречена Продукти :

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

В тази таблица данните в последния ред изглеждат различни от останалите.

Нека видим какво е typeof() функция се връща.

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

Резултат:

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

Както се очаква, последният ред връща различни типове данни за ProductName и Цена колони.

Изрази

typeof() функцията може да бъде удобна, за да видите какъв тип данни може да върне даден израз.

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

Резултат:

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. Как работи SQLite Ltrim().

  2. Как да използвате ROW_NUMBER в sqlite

  3. Уверете се, че курсорът е инициализиран правилно, преди да получите достъп до данни от него

  4. Uncaught TypeError не може да извика метода 'opendatabase' на приставката undefined-SQLite с cordova 3.5

  5. Няма достъп до предварително попълнена база данни на SQLite с помощта на PhoneGap/Cordova в Android