我使用JDBC来查询查询包含多次相同计算的位置。 例如:
SELECT
DATE(CONVERT_TZ(FROM_UNIXTIME(my_time + timezone_offset * 60), @@session.time_zone, '+00:00')),
UNIX_TIMESTAMP(DATE(CONVERT_TZ(FROM_UNIXTIME(my_time + timezone_offset * 60), @@session.time_zone, '+00:00')))
FROM my_table;
我可以在不进行多次计算的情况下以某种方式进行此操作吗?
(它会使性能更好,而且代码看起来也更清晰)
答案 0 :(得分:0)
您可以使用派生表(FROM子句中的子查询):
select mydate, UNIX_TIMESTAMP(mydate)
from
(
SELECT
DATE(CONVERT_TZ(FROM_UNIXTIME(my_time + timezone_offset * 60), @@session.time_zone, '+00:00')) as mydate,
FROM my_table
);