首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL/Postgres兼容工作日/道指

问MySQL/Postgres兼容工作日/道指
EN

Stack Overflow用户
提问于 2016-06-25 01:20:42
回答 1查看 336关注 0票数 1

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

我最初的MySQL查询使用WEEKDAY:

代码语言:javascript
复制
SELECT WEEKDAY('2016-06-24');
+-----------------------+
| WEEKDAY('2016-06-24') |
+-----------------------+
|                     4 |
+-----------------------+
1 row in set (0.00 sec)

我知道Postgres有EXTRACT,但它不太一样(并且不能在MySQL上使用'dow‘):

代码语言:javascript
复制
SELECT EXTRACT(dow FROM '2016-06-24'::date);
date_part 
-----------
     5

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

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

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

EN

回答 1

Stack Overflow用户

发布于 2016-06-25 01:40:49

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

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38018927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档