tsrange или daterange для sqlite? - PullRequest
0 голосов
/ 11 января 2019

Существует ли тип данных, эквивалентный tsrange или daterange (или фактически любой из типов диапазона , доступных в PostgreSQL), например, в. SQLite

Если нет, как лучше обойти это?

1 Ответ

0 голосов
/ 11 января 2019

Извините, в SQLite только 5 типов данных: https://www.sqlite.org/datatype3.html

NULL, INTEGER, REAL, TEXT и BLOB. И ЦИФРЫ.

Как уже упоминалось @ a_horse_with_no_name: «Обычно вы используете два столбца этого типа, в которых хранится начальное и конечное значение диапазона». Это немного усложняет задачу, если вы хотите выполнять вычисления в базе данных с интервалами. Но эти ресурсы могут быть найдены как загружаемое расширение во время выполнения .

Обычно вы используете два столбца этого типа, которые хранят начальное и конечное значение диапазона. - a_horse_with_no_name 42 минуты назад

Будьте осторожны; SQLite довольно прост в том, что он принимает для каждого типа данных:

SQLite использует более общую динамическую систему типов. В SQLite тип данных значения связан с самим значением, а не с его контейнер. Динамическая система типов SQLite обратно совместима с более распространенными системами статических типов других механизмов баз данных в смысл, что операторы SQL, которые работают на статически типизированных базах данных должен работать так же в SQLite. Тем не менее, динамический ввод в SQLite позволяет делать то, что невозможно в традиционном жестко типизированные базы данных.

Это означает, что вы можете бросать текст в целочисленные поля; если текст целое, это нормально. Если это не так, это нормально. Он будет сохранен и возвращен вам при получении. Разница в том, что если он может быть преобразован в целое число, оно будет, и вам будет возвращено целое число. Если он не может быть конвертирован, вы получите текстовую строку. Это может сделать программирование с базами данных SQLite интересным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...