sqlite3 функции даты и интервала - PullRequest
4 голосов
/ 13 июня 2010

Интересно, поддерживает ли sqlite3 функцию интервала.PostgreSQL принимает следующее утверждение, однако sqlite3 не удалось его проанализировать;

select
 ...
from 
 orders
where
 ...
 and o_orderdate < date '1995-03-01' + interval '3' month 

Ошибка: около строки 4: около «1995-03-01»: синтаксическая ошибка

ТогдаЯ немного изменил выражение, например:

and o_orderdate < date('1995-03-01') + interval '3' month

На этот раз ошибка была;Ошибка: около строки 4: около «3»: синтаксическая ошибка

К сожалению, та же самая хитрость не работает для функции интервала, т.е.

and o_orderdate < date('1995-03-01') + interval('3' month)

или

and o_orderdate < date('1995-03-01') + interval('3') month

или даже

and o_orderdate < date('1995-03-01') + interval(3 month)

все еще выдает мне синтаксическую ошибку.

Может быть, sqlite3 не поддерживает функцию интервала или я что-то упускаю в ее использовании?

Спасибомного

Ответы [ 2 ]

7 голосов
/ 13 июня 2010
and o_orderdate < date('1995-03-01', '+3 month')

ссылка на функции даты и времени в SQLite

0 голосов
/ 03 февраля 2016

попробуйте это:

and date(o_orderdate) < date('1995-03-01','+3 month')

Чтобы вычислить даты, вы должны сообщить SQLite, что поле вашей базы данных является датой: date(o_orderdate)

Синтаксис SQLite довольно негибкий, поэтомуважно убедиться, что знак + не имеет пробелов для следующего числа: '+3 month'

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