我在PostgreSQL中有以下select语句:
DATE_TRUNC('{{time_interval}}',u.created_at) AS "Signup Date",
其中{{time_internal}}是设置为month
的变量
我需要将这一行转换为MariaDB,下面是我到目前为止所得到的:
DATE_FORMAT(CURDATE(), u.created_at) AS "Signup Date",
这并没有像预期的那样输出结果,这让我相信我错误地迁移了这行SQL。
将SQL行从PostgreSQL迁移到MariaDB时,我做错了什么?
发布于 2019-05-07 10:37:21
我认为您需要使用case
语句:
select (case when @timeinterval = 'day'
then date(u.created_at)
when @timeinterval = 'month'
then u.created_at + interval (1 - day(u.created_at)) day
when @timeinterval = 'year'
then makedate(year(u.created_at), 1)
end) as Signup_Date
还有其他的可能性,但'day'
、'month'
和'year'
是最常见的日期部分。
https://stackoverflow.com/questions/56013898
复制相似问题