mysql - 如何让 SQL 查询返回一个包含算术结果的额外列?

标签 mysql sql date

我当前的查询是

$sql="SELECT * FROM events, times 
WHERE events.email = '$email' 
and 
events.type = times.type";

events.date 是 sql 格式的日期,格式为 yyyy-mm-dd

times.time 是 sql 中的日期,格式相同,但为 0000-mm-dd。

我想要查询中的额外一列,其中包含事件的建议开始日期。

即。事件.日期 - 时间.时间

我可以让 sql 返回一个包含推荐开始日期的额外列吗?

还是我离题太远了?

如有任何想法,我们将不胜感激。

编辑:

这是我现在拥有的:

SELECT *, date_diff(events.date, times.time) AS recommended FROM events, times WHERE events.email = '$email' and events.type = times.type ORDER by events.date

据我所知,它应该不会失败,但确实如此。它提示我的语法。

编辑:

现在可以了,谢谢

这是我得到的

$sql="SELECT *, date_format(events.date - times.time, '%Y-%m-%d') as recommended 
FROM events, times 
WHERE events.email = '$email' 
and 
events.type = times.type ORDER by events.date";

最佳答案

你一点都不离谱。您可以创建一个额外的列并通过计算并使用别名为其命名。

SELECT *, TIMESTAMPDIFF(events.date,times.time) AS recommended_start_date
FROM events, times;

我不确定 TIMESTAMPDIFF 函数是否正是您要查找的函数。也许 DATEDIFF() 可能更好。 This part MySQL 文档的一部分列出了您可以使用的所有与日期相关的函数。

关于mysql - 如何让 SQL 查询返回一个包含算术结果的额外列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23189198/

相关文章:

java - 添加日期选择器后时间选择器停止工作

sql - Oracle 日期匹配

php - 如何处理两个下拉列表值?

mysql - 创建子查询时遇到问题

sql - 如何在 postgresql 或使用一些 sql 查询技巧中显示空结果集

sql - 返回字段包含非字母数字字符的行

php - 从 MySQL 返回最新消息?

php - javascript 和 php 中日期的奇怪问题

mysql - 加入sql表并计数

MySQL存储过程错误: unknown system variable