#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 не допускает ограничений по размеру для строковых типов данных.