mysql - 将查询 SQL 转换为 PostgreSQL

标签 mysql sql postgresql

请问我如何将其转换为 PostgreSQL?

SELECT flight_number,
       departure_airport,
       arrival_airport,
       departure_time,
       arrival_time,
       HOUR(arrival_time-departure_time)
FROM flights
HAVING HOUR(arrival_time-departure_time) < 2;

最佳答案

如果您想要少于 2 小时的航类,那么 Postgres 会将其解释为:

SELECT flight_number, departure_airport, arrival_airport, departure_time, arrival_time, EXTRACT(HOUR FROM arrival_time - departure_time)
FROM flights 
WHERE arrival_time < departure_time + INTERVAL '2 hour';

这不是您的代码所做的。实际上,在不知道源数据库和列的数据类型的情况下,很难说它到底在做什么。

关于mysql - 将查询 SQL 转换为 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59292919/

相关文章:

mysql - 如何删除用户的所有数据但排除某些数据

mysql - SQL 查询查找在另一个表中具有某些值的用户

sql - 在多对一表中使用哪个外键

php - 在 mysql 查询中以逗​​号分隔搜索

.net - 跨不同 SQL 读取器共享 SQL 临时表

ruby-on-rails - UUID 列值在模型重新加载之前不可用

sql - SELECT ... ORDER BY ... FOR UPDATE 语句中的行是否按顺序锁定?

php - 时间比较不工作 PHP

postgresql - 查找字符串在特定位置包含特定字符的行

sql - PostgreSQL 条件枚举