gpt4 book ai didi

MySQL/Postgres 兼容 WEEKDAY/DOW

转载 作者:行者123 更新时间:2023-11-29 06:11:28 24 4
gpt4 key购买 nike

我想要一个无需修改即可同时在 MySQL 和 Postgres 上运行的查询(我正在从 MySQL -> Postgres 迁移,理想情况下,我想在测试迁移时在两个数据库上运行完全相同的查询,而不是特定于不同的数据库查询)。

我原来的 MySQL 查询使用 WEEKDAY:

SELECT WEEKDAY('2016-06-24');
+-----------------------+
| WEEKDAY('2016-06-24') |
+-----------------------+
| 4 |
+-----------------------+
1 row in set (0.00 sec)

我知道 Postgres 有 EXTRACT 但它并不完全相同(并且不适用于 MySQL 上的“dow”):

SELECT EXTRACT(dow FROM '2016-06-24'::date);
date_part
-----------
5

是否有一个函数/语句/查询无需修改就可以在 MySQL 和 Postgres 上运行,并且在 MySQL 上具有 WEEKDAY 的行为?

我想避免在 Postgres 上为此行为创建自定义函数。

(实际查询使用列等,所以转换应该不是问题)

最佳答案

我认为没有办法避免用户定义的函数:

create or replace function weekday (_date date)
returns integer as $$
select extract(isodow from _date)::int - 1;
$$ language sql immutable;

select weekday('2016-06-24');
weekday
---------
4

关于MySQL/Postgres 兼容 WEEKDAY/DOW,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38018927/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com