mysql - 查找日期为 2017 年的所有星期五

标签 mysql sql

我想要一个 MySQL 查询来获取 2017 年所有星期五的日期。

我知道相同的 SQL 查询是:

SELECT Fridays = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), n.num)
FROM (SELECT TOP 366 num = ROW_NUMBER() OVER(ORDER BY a.NAME)-1 FROM dbo.syscolumns a, dbo.syscolumns b) n
WHERE DATENAME(weekday, DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), n.num)) = 'Friday'

我正在寻找相同的 MySQL 替代品。

最佳答案

这是 mysql 中 sql 逻辑的精确转换

SELECT DATE_ADD(MAKEDATE(year(now()),1), INTERVAL @num:=@num+1 DAY)
From (select @num:=-1) num
where DAYNAME(DATE_ADD(MAKEDATE(year(now()),1), INTERVAL @num:=@num+1 DAY))="Friday"
limit 365 

关于mysql - 查找日期为 2017 年的所有星期五,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51015870/

相关文章:

php - 两个不同 SQL 查询的组合和排序结果

MySQL选择特定数量并计算所有可能

sql - 从 DATETIME 中提取 TIME - informix

mysql - SQL 3 表连接

mysql - 发现每个表的 MySQL 读/写

java - 在 Java 中生成 PHP "POST"语句的正确方法 (Android-Studio)

mysql - Doctrine2 以错误的方式将日期类型值转换为 SQL 格式

mysql - CASE WHEN 不返回预期值

c# - 使用 textBox_TextChanged 事件和 if 语句一起写入文本框越来越慢。

sql - 如何删除完全重复的行