Как написать MySQL DATE_ADD () в «универсальном» SQL - PullRequest
1 голос
/ 11 июля 2010

Я пишу свои запросы в «стандартном» / «универсальном» SQL, чтобы он выполнялся в любой базе данных (MySQL, Postgre и т. Д.).

Я бы хотел использовать DATE_ADD() MySQL. В Postgre это было бы сделано с чем-то вроде '2001-01-01'::timestamp + '1 year'::interval;.

Есть ли более «общий» способ написания, чтобы он работал как на MySQL, так и на Postgre (или других)?

Ответы [ 2 ]

2 голосов
/ 11 июля 2010

Нет, нет стандартных функций SQL для добавления даты.

В зависимости от того, как вы строите свое приложение (используя уровень абстракции базы данных и / или интерфейсный уровень), вы, вероятно, могли бы обрабатывать его в общем виде, и при этом база данных выполняла бы математические операции, а некод.

1 голос
/ 12 июля 2010

В MySQL вам не нужен DATE_ADD, он имеет почти такой же синтаксис, как PostgreSQL:

MySQL: SELECT CAST('2001-01-01' AS date) + INTERVAL 1 year;

PostgreSQL: SELECT CAST('2001-01-01' AS date) + INTERVAL '1 year';

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