| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 978 人关注过本帖
标题:[求助]按月份查询的问题??
只看楼主 加入收藏
35maoe
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2006-8-28
结帖率:100%
收藏
 问题点数:0 回复次数:14 
[求助]按月份查询的问题??
数据库时间是正常类型(2006-10-11 11:11),我想按月份查询,如查询10月份的用sql语句如何写,
[注:不先提取日期拆分对比,直接在数据能否查询???]
搜索更多相关主题的帖子: 数据库 查询 sql 语句 
2006-09-26 14:13
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
sqlserver: "where month(日期字段)=10 and year(日期字段)=year(getdate())"
access: "where month(日期字段)=10 and year(日期字段)=year(now())"
2006-09-26 14:42
35maoe
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2006-8-28
收藏
得分:0 
我用的是:sqlserver: "where month(日期字段)=10"
好象没什么用,一查就出来所有的,后面的年份就没必要吧!

2006-09-26 15:17
35maoe
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2006-8-28
收藏
得分:0 
各位朋友支支招呀,应该如何做???

2006-09-27 08:00
lexlin
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-9-25
收藏
得分:0 
checkdate = DateValue("2006-10-1 0:0:0")
nowdate=DateDiff("d",Now,aDate)

你知道怎么做了吧?


2006-09-27 09:22
35maoe
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2006-8-28
收藏
得分:0 
对这个DateDiff不太了解,举个例子,你看对不对;数据库里的时间名为:date ,我从别的地方提交查询月份的名为:month1
表名为:abc ,那么查询时的写法如下看行不行??
month1是得到的变量,在1--12之间;
select * form abc where DateDiff(month,date,month1)=0

2006-09-27 09:56
35maoe
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2006-8-28
收藏
得分:0 
不行,select * from liuy where Datediff(day,date,getdate())<=30  这个查询30天内的可以实现,里面好象是对数据库里的时间(date)和最新时间(getdate())比较得出的天数与30进行比较的,如何进行月份的比较,而且month1不是时间格式,而是1--12之间的数字??"select * form abc where DateDiff(month,date,month1)=0"

2006-09-27 10:08
lexlin
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-9-25
收藏
得分:0 
那你怎么保证得到的结果一定是表名呢?
如果查月份很好查
我们的月份格式是NNNN-M-D
dim nowdate
nowdate=FormatDateTime(Now,vbShortDate)

直接查2006-10-1到2006-10-31
不就可以了吗?

2006-09-27 10:10
lexlin
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-9-25
收藏
得分:0 
如果要做动态
就直接引入你要查的月份就可以了
2006-M-1 到2006-M-31
不就ok了?

抱歉,我没有验证,我想没有问题

2006-09-27 10:12
35maoe
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2006-8-28
收藏
得分:0 
唉,我是多方法查询,我用的是下面这种方法:
if key<>"" then
sql="(subject like '%"&key&"%' or info like '%"&key&"%')"
end if
if month1<>"" then
sql=sql&" and DateDiff(month,openstart,month1)=0"
end if
if shengid<>"" then
sql=sql&" and shengid="& shengid
end if
if cityid<>"" then
sql=sql&" and cityid="& cityid
end if
if leibie<>"" then
sql=sql&" and leibie='"&leibie&"'"
end if


strsql="select * from abc where "&sql&" order by id desc"

现在就是:
if month1<>"" then
sql=sql&" and DateDiff(month,openstart,month1)=0"
end if
这里面的sql语句无效,不知如何写,实在不行,只能先在这里面查询数据库,拆分时间进行月份对比也是可以的,现在如果可以用sql语句解决,就不用麻烦了

2006-09-27 10:21
快速回复:[求助]按月份查询的问题??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017148 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved