以文本方式查看主题 - 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 -- 问题解决 谢谢! |