2012-03-20 1 views
2

Я читал все о преобразовании полей TEXT в форматы даты и способы использования Python для создания объектов даты, но мой вопрос остается.Управляющий ввод атрибута SQLite только в формат даты.

В моей таблице есть столбец dateTime, который указан как ТЕКСТ, я хотел бы создать ограничение, которое заставляет ввод быть в формате dateTime, но поскольку SQLite не делает дат (как я бы хотел), у меня нет разработал, как это сделать.

Мои текущие идеи: 1. Ограничить количество символов 2. Установите отдельные атрибуты для дня, месяца и года и ограничивают их домены 3. Это глупо делать это на стороне базы данных просто сделать это в пользовательском интерфейсе

Буду благодарен за ваше мнение по тем или иным параметрам. Спасибо :)

ответ

4

Я пытался решить ту же проблему, и метод, который я придумал, заключался в использовании функций даты/времени для анализа значения и проверки того, что он не изменился. По существу следующее:

CREATE TABLE dts_test (
    dts  TEXT CHECK (dts IS datetime(dts)) 
); 

Если формат по умолчанию не то, что вы хотите, вы можете использовать strftime или аналогичный дизайн любой формат, который вы хотите, но это должно быть что-то, что built-in date and time functions может разобрать.

Смежные вопросы