Типы данных String — Varchar — SQLite

#sql #string #sqlite #varchar

#sql #строка #sqlite #varchar

Вопрос:

В SQLite, String — varchar кто-нибудь может сказать точную разницу между обоими этими?

Комментарии:

1. в sqlite v3 тип данных text действует для этих 2 типов.

Ответ №1:

В SQLite используется динамическая типизация; имя объявленного типа данных не имеет значения:

 CREATE TABLE MyTable (
    Col1 TEXT,           -- this is stored as a text value
    Col2 STRING,         -- so is this
    Col3 VARCHAR(1),     -- and this
    Col4 FLUFFY BUNNIES, -- and this
    Col5,                -- and this
    Col6 INTEGER         -- and this, if the actual value is not a number
);
  

Объявленная длина также игнорируется (она используется только планировщиком запросов для оценки объема ввода-вывода).

Для принудительного применения типов данных или длин вам потребуется отдельное ограничение ПРОВЕРКИ :.

 CREATE TABLE MyTable (
    Col7 TEXT NOT NULL  CHECK(typeof(Col7) = 'text')
);
  

Комментарии:

1. Единственным наиболее важным типом данных во всех моих проектах является FluffyBunnies .

2. СТРОКА не ограничивает размер?, VARCHAR позволяет ограничить размер? правильно ли это?

3. Нет, это не то, что я написал.

Ответ №2:

Все строковые типы данных в SQLite преобразуются в ТЕКСТОВЫЙ тип данных, если вы не используете большой двоичный объект, поскольку SQLite не допускает ограничений по размеру для строковых типов данных.