在
SELECT TIMESTAMPDIFF(SECOND,since,until) dif,
DATE_ADD(since,INTERVAL TIMESTAMPDIFF(SECOND,since,until)/2 SECOND)
FROM....
通过选择重复TIMESTAMPDIFF(...)。有没有办法简化/重用而不重复整个公式?别名“dif”在SELECT参数
中无效答案 0 :(得分:3)
您可以使用SELECT在查询中使用别名:
SELECT TIMESTAMPDIFF(SECOND,since,until) dif,
DATE_ADD(since,INTERVAL (SELECT dif)/2 SECOND)
FROM....
答案 1 :(得分:3)
每当我在select中进行繁琐的计算时,我都喜欢子查询:
SELECT DATE_ADD(since, INTERVAL dif/2 SECOND) FROM (
SELECT TIMESTAMPDIFF(SECOND,since,until) dif
FROM....
) AS A
作为一个注释,@ clinomaniac的答案非常适合MySQL,但并未被所有RDBMS识别。