Mysql 如何将此SQL语句转换为PostgreSQL?
我有一个MySQL语句,它不会在PostgreSQL服务器上运行 以下是原始的MySQL查询:Mysql 如何将此SQL语句转换为PostgreSQL?,mysql,sql,postgresql,Mysql,Sql,Postgresql,我有一个MySQL语句,它不会在PostgreSQL服务器上运行 以下是原始的MySQL查询: SELECT count(*) AS howmany FROM members WHERE member_status =1 AND member_sex = 'male' AND (YEAR( '2015-12-31' ) - YEAR( member_birthdate ) ) - ( RIGHT( '2015-12-31', 5 ) < RIGHT( member_bir
SELECT count(*) AS howmany
FROM members
WHERE member_status =1
AND member_sex = 'male'
AND (YEAR( '2015-12-31' ) - YEAR( member_birthdate ) ) -
( RIGHT( '2015-12-31', 5 ) < RIGHT( member_birthdate, 5 ) )
BETWEEN 27 AND 40;
我们的目标是,我想知道在2015-12-31年排位赛日期,有多少会员年龄在27岁到40岁之间。
我不知道如何转换查询的正确部分。您可以使用以下函数:
SELECT COUNT(*) AS howmany
FROM members
WHERE member_status =1
AND member_sex ='male'
AND extract(year from age(timestamp '2015-12-31', member_birthdate))
BETWEEN 27 AND 40;
你犯了什么错误?或者发布一些我们也可以使用的示例数据:)回答得好,并且很好地使用了
age
函数!
SELECT COUNT(*) AS howmany
FROM members
WHERE member_status =1
AND member_sex ='male'
AND extract(year from age(timestamp '2015-12-31', member_birthdate))
BETWEEN 27 AND 40;