gpt4 book ai didi

mysql - MySQL 和 PostgreSQL 通用的 MONTH() 和 YEAR() 函数的任何替代方法

转载 作者:可可西里 更新时间:2023-11-01 07:05:17 24 4
gpt4 key购买 nike

编写可以在 MySQL 和 PostgreSQL 中运行的查询(一个 sql 文件),到目前为止一切正常,除了以下内容:

SELECT MONTH(Date), YEAR(Date) FROM Ticket;

用于从 Ticket 表的日期列(是的,我不能更改此列的名称)中提取月份编号 (9,10,11 ..) 和年份 (2011, 2012..)。它在 MySQL 中运行良好,但当我在 PostgreSQL 中运行查询时,它为 MONTH() 和 YEAR() 提供以下错误消息。

ERROR:  function month(date) does not exist
HINT: No function matches the given name and argument types. You might need to add explicit type casts.

经过一些研究后,我发现了一些其他函数可以在 Postgres 中完成这项工作,但恐怕这些函数在 MySQL 中可能不起作用。强烈期待任何可能的解决方案。

最佳答案

好吧,如果您在字段前面使用别名并改用 EXTRACT,则相同的查询将适用于 PostgreSQL 和 MySQL:

SELECT EXTRACT(MONTH FROM t.Date) AS MonthOfDate, 
EXTRACT(YEAR FROM t.Date) AS YearOfDate
FROM Ticket t;

PostgreSQL SQL Fiddle

MySQL SQL Fiddle

关于mysql - MySQL 和 PostgreSQL 通用的 MONTH() 和 YEAR() 函数的任何替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21935979/

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