之前有个需求需要获取当月的所有需求,搜了一下实现SQL,很多都是借助其他表实现的:
https://blog.csdn.net/zhaofanjack/article/details/80231597
然后我想不用借助任何表实现这个功能,就想出如下杰作:
SELECT DATE(DATE_ADD(NOW(), INTERVAL tb.monthOfday - DAY(NOW()) DAY)) as monthOfDate FROM (
SELECT 1 as monthOfday UNION ALL
SELECT 2 as monthOfday UNION ALL
SELECT 3 as monthOfday UNION ALL
SELECT 4 as monthOfday UNION ALL
SELECT 5 as monthOfday UNION ALL
SELECT 6 as monthOfday UNION ALL
SELECT 7 as monthOfday UNION ALL
SELECT 8 as monthOfday UNION ALL
SELECT 9 as monthOfday UNION ALL
SELECT 10 as monthOfday UNION ALL
SELECT 11 as monthOfday UNION ALL
SELECT 12 as monthOfday UNION ALL
SELECT 13 as monthOfday UNION ALL
SELECT 14 as monthOfday UNION ALL
SELECT 15 as monthOfday UNION ALL
SELECT 16 as monthOfday UNION ALL
SELECT 17 as monthOfday UNION A