Я пишу свои запросы в стандартном SQL/стандартном SQL, чтобы он работал в любой базе данных (MySQL, Postgre и т. Д.).Как написать MySQL DATE_ADD() в «generic» SQL
Я хотел бы использовать DATE_ADD()
MySQL. В Postgre это будет сделано с чем-то вроде '2001-01-01'::timestamp + '1 year'::interval;
.
Есть ли более общий способ записи, чтобы он работал как на MySQL, так и на Postgre (или на других)?
Попытка написать стандартный SQL, как правило, ошибка. Взгляните на доступные базы данных, посмотрите, какие функции вам нужны, а затем будьте смелыми и просто выберите базу данных, которая соответствует вашим потребностям и коду. Используйте функции, которые эффективно работают с базой данных. «Общий SQL» обычно означает медленный, незаменимый SQL, который работает только с двумя базами данных, которые вы тестировали. –
Чтобы добавить комментарий к Mark, если вам нужно поддерживать разных поставщиков баз данных - либо взгляните на ORM (простота для упрощения торговли для производительности), либо используйте SQL, настроенный для каждого поставщика базы данных (лучшая производительность, больше работы). –