ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1196|回复: 7

[求助] 关于sql语句的求助。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-8-18 23:56 | 显示全部楼层 |阅读模式
本帖最后由 ovxyz 于 2012-8-18 23:57 编辑

cmonth
2012.03.01-2012.03.31
2012.04.01-2012.04.30
2011.05.01-2012.05.31
2012.07.01-2012.07.31

有一个表mydata。字段cmonth。有如上很多时间段数据。
要加一个sql条件语句
把包含了4月的记录都筛选出来应该怎么写啊?
例如上面的第2、3调都包含了4月。
select cmonth from mydata where ?????

TA的精华主题

TA的得分主题

发表于 2012-8-19 00:03 | 显示全部楼层
为何不把这个时间段分成两个列?

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-8-19 00:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 ovxyz 于 2012-8-19 00:05 编辑

这个是公司系统的字段。我没法改。而且是个字符型字段。

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-8-19 11:19 来自手机 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-8-19 12:25 | 显示全部楼层
本帖最后由 wuxiang_123 于 2012-8-19 13:21 编辑

时间段中出现4月的记录,如2012-04-01-2012-07-12或2012-01-02-2012-04-01等:
  1. select cmonth from mydata where INSTR(cmonth,".04")
复制代码

时间段没有出现4月,但表示包含4月的记录。如:2012-03-01-2012-05-07等:
  1. SELECT cmonth FROM mydata where mid(cmonth,17,2)>=4 AND mid(cmonth,6,2)<=4
复制代码

TA的精华主题

TA的得分主题

发表于 2012-8-19 12:32 | 显示全部楼层
SELECT cmonth
FROM (SELECT cmonth,CDate(mid(replace(cmonth,".","/"),1,10)) as DateBegin,CDate(mid(replace(cmonth,".","/"),12,10)) as DateEnd
FROM myData)  AS a
WHERE ((month(DateBegin)<=4) and (month(DateBegin)+DateDiff("m",DateBegin,DateEnd))>=4) or
((month(DateBegin)>4) and (month(DateBegin)+DateDiff("m",DateBegin,DateEnd))>=16)

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-8-23 09:37 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-8 12:55 , Processed in 0.030063 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表