以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  两个日期之间相隔的月份集合  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=131319)

--  作者:nxhylczh
--  发布时间:2019/2/22 22:13:00
--  两个日期之间相隔的月份集合
开始日期2018年5月,结束日期 2019年11月.
返回一个集合  2018.05 2018.06 2018.07 2018.08 2018.09 2018.10 2018.11 2018.12 2019.01 ...  2019.11
[此贴子已经被作者于2019/2/22 22:13:34编辑过]

--  作者:有点蓝
--  发布时间:2019/2/22 22:20:00
--  
Dim d As Date = new Date(2018,5,1)
Dim d2 As Date = new Date(2019,11,30)
Dim lst As new List(of String)
Do While d < d2
    lst.add(Format(d,"yyyy.MM"))
    d = d.AddMonths(1)
Loop

For Each s As String In lst
    Output.Show(s)
Next

--  作者:nxhylczh
--  发布时间:2019/2/22 23:04:00
--  
老师, 我有一个数据库中有三个字段   年  月  日  
年          月     日
2018      5     1
2018      6     20
2018      10   21
2019      6     15
2019      7     23
2019     10    15
2019      12   21       sql 查询的时候  我合成了一个 年/月 的表达式
我想返回  2018年6月 至  2019年 10月的数据   这个SQl怎么写呢?  用你的集合虽然能实现  但是代码太重复!麻烦您了

--  作者:有点蓝
--  发布时间:2019/2/22 23:16:00
--  
sql更麻烦
--  作者:nxhylczh
--  发布时间:2019/2/22 23:24:00
--  
S E L E C T  P01.*, Format([年] & [月],"yyyy/mm") AS 表达式1
FROM P01
WHERE (((Format([年] & [月],"yyyy/mm")) Between Format("2018-01","yyyy/mm") And Format("2019-10","yyyy/mm")))

这样写  不返回数据

--  作者:nxhylczh
--  发布时间:2019/2/22 23:28:00
--  
S E L  E C T P01.*, Format([年] &"-"& [月],"yyyy/mm") AS 表达式1
FROM P01
WHERE  [年] &"-" & [月] >=#2018-01# And [年] &"-" & [月] <= #2019-10#  这样就可以了

--  作者:nxhylczh
--  发布时间:2019/2/22 23:50:00
--  
返回的数据还是有问题
--  作者:nxhylczh
--  发布时间:2019/2/23 2:28:00
--  
问题解决  谢谢!