又一个简单的数据查询语句,帮帮忙!
ACCESS数据库中有字段id(数字型),date(日期型,yyyy-mm-dd hh:nn:ss),
id date
1 2005-6-1 13:12:12
2 2005-6-2 12:12:34
3 2005-6-2 12:14:34
比如今天是6月2日,如何查找今天的数据条数?
select count(id) from table where date=Now() 有错误!
问题点数:5、回复次数:25Top
1 楼onkey1999(忆江南信息网:http://www.donfor.com|2006冲刺NET)回复于 2005-06-02 19:23:49 得分 1
"select count(id) from table where date=#"&Now()&"#"Top
2 楼grayhoundd(斜塘西马)回复于 2005-06-02 19:43:21 得分 0
不是吧,NOW()得出的结果是当前时间,精确到秒的.这样查找出来的结果肯定是0条Top
3 楼grayhoundd(斜塘西马)回复于 2005-06-02 19:59:51 得分 0
顶
顶Top
4 楼grayhoundd(斜塘西马)回复于 2005-06-02 20:00:06 得分 0
呵呵
呵呵Top
5 楼zhangguochen(中和)回复于 2005-06-02 20:06:51 得分 1
select count(id) from table where convert(char(10),date,120)=convert(char(10),getdate(),120)Top
6 楼happy_xie_feng(阿风)回复于 2005-06-02 20:26:57 得分 0
easyTop
7 楼grayhoundd(斜塘西马)回复于 2005-06-02 21:38:59 得分 0
convert未定义?怎么解决啊?Top
8 楼zdliang(zdliang)回复于 2005-06-02 21:52:05 得分 1
你这个查询语句在那个里面写的?
要是c#里面的话
exestr="select count(id) from table where date='"+
System.DateTime.Now.Date.ToString()+"'";
要是写在sql server里面的话
select count(id) from table where date=CURRENT_TIMESTAMPTop
9 楼mba9001(两年不见,csdn变肥了)回复于 2005-06-03 00:13:17 得分 0
select count(id) from table where date=getdate()Top
10 楼grayhoundd(斜塘西马)回复于 2005-06-03 12:37:36 得分 0
都不对,
exestr="select count(id) from table where date='"+
System.DateTime.Now.Date.ToString()+"'";
提示类型不匹配!我数据库中的类型是yyyy-mm-dd hh-nn-ss,而System.DateTime.Now.Date.ToString()是string型,换成System.DateTime.Now.Date页不对
select count(id) from table where date=getdate()
提示找不到getdate()Top
11 楼bys_home(我是天才)回复于 2005-06-03 12:57:59 得分 1
select * from table where convert(varchar(8),datecolumn,111) = convert(varchar(8),getdate(),111)Top
12 楼MyLf(不睡觉的鱼)回复于 2005-06-03 14:18:30 得分 0
正解
select count(id) from table where datepart("d",date)=datepart("d",Now())
Top
13 楼grayhoundd(斜塘西马)回复于 2005-06-03 14:55:53 得分 0
select count(id) from table where datepart("d",date)=datepart("d",Now())
这样查找出来的数据显然不对,今天是2005-6-3,那么它还会把2005-5-3,2003-6-3满足的都找出来Top
14 楼grayhoundd(斜塘西马)回复于 2005-06-18 14:38:58 得分 0
顶啊Top
15 楼antonb()回复于 2005-06-18 15:32:48 得分 0
"select count(id) from table where date like '" & date() & "'"
试试!Top
16 楼wingnal(清淡天和)回复于 2005-06-18 15:42:14 得分 0
楼主吝啬了Top
17 楼grayhoundd(斜塘西马)回复于 2005-06-18 21:17:52 得分 0
不行啊Top
18 楼chenlixin007(Aeolus)回复于 2005-06-18 21:41:59 得分 0
dt=System.DateTime.Now;
"select count(id) from table where date like '_"+dt.year+"-"+dt.Month+"-"+dt.Day+"_'";Top
19 楼grayhoundd(斜塘西马)回复于 2005-06-19 07:58:55 得分 0
string strSel = "select count(id) as today_reply from reply where datepart('yyyy',date)=datepart('yyyy',Now()) and datepart('m',date)=datepart('m',Now()) and datepart('d',date)=datepart('d',Now())";
这个是正确的,但是感觉很繁琐.有没有简单一点的查询.
下面这条查出来数据是0,为什么? 看样子like在这里行不通
string today = System.DateTime.Now.ToString("yyyy-M-d");
string strSel = "select count(id) as today_reply from reply where date like '" + today + "'";
Top
20 楼grayhoundd(斜塘西马)回复于 2005-06-20 07:02:03 得分 0
顶Top
21 楼grayhoundd(斜塘西马)回复于 2005-06-20 15:30:39 得分 0
顶Top
22 楼wwy830916(问题多如牛毛)回复于 2005-06-20 16:11:47 得分 1
DateTime tempTime = Convert.ToDateTime("2005-6-2 12:12:12");
string sql = "select count(id) as today_reply from reply where date between '" + tempTime.ToShortDateString() + "' and '" + tempTime.AddDays(1).ToShortDateString() + "'";
试一下
Top
23 楼qianyukun2002(qyk)回复于 2005-06-20 16:33:46 得分 0
一个很好的解决方法是: date>今天 and date<明天的时间 我一直都在用.Top
24 楼givenchy(希希)回复于 2005-06-20 17:10:10 得分 0
转换成字符串比较:
select count(id) from table where
CONVERT(char(12),[date], 2) = CONVERT(char(12),getdate(), 2)Top
25 楼grayhoundd(斜塘西马)回复于 2005-06-20 17:34:33 得分 0
谢谢各位!Top




