数据表aaa是这样的:
     ID             录入时间               事件
     1        2007-01-01 13:03:14          sdfg
     2        2007-02-02 15:21:22          sddd
     3        2007-02-03 14:11:45          1312我想找出 日期是2007-02-02 的记录  输入控件是 DTPicker 
我这样写 select * from aaa where DATEDIFF(DAY,录入时间,'" & DTPicker1.Value & "')=0    这个语句是成立的问题1:所有今天录入的记录(NOW函数 截取不来!)  
问题2:在时间段 2007-02-01  到 2007-02-29日录入的记录
要怎么写呢?

解决方案 »

  1.   

    1.select LoginTime from LoginRecord where DATEDIFF(DAY,录入时间,GETDATE())=0 
    2.当月:select LoginTime from LoginRecord where DATEDIFF(Month,录入时间,GETDATE())=0
      

  2.   

    select * from tablename where 日期字段 between '2007-1-22' and '2007-2-14'
      

  3.   

    数据库为SQL:
    select * from tablename where 日期字段 between '2007-1-22' and '2007-2-14'
    数据库为ACCESS:
    select * from tablename where 日期字段 between #2007-1-22# and #2007-2-14#
      

  4.   

    ygrzsy() ( ) 信誉:100    Blog   加为好友  2007-4-5 19:29:35  得分: 0  
     
     
       
    我时间字段   格式是  年-月-日  时:分:秒     啊   是不是 还要截取一下?  
    ----------
    可以截取,也可以不截取--截取
    select * from aaa where Convert(Varchar(10), 录入时间, 120) Between  '2007-02-01' And '2007-02-29'--不截取
    select * from aaa where Convert(Varchar(10), 录入时间, 120) Between  '2007-02-01 00:00:00' And '2007-02-29 23:59:59'看你覺得哪種更方便了
      

  5.   

    TieShou(铁手) ( ) 信誉:100    Blog   加为好友  2007-04-06 08:58:09  得分: 0  
     
     
       2007年哪里有2月29日?
      
    --------真失敗, :)順著樓主的意思就開始寫了,沒仔細想。
     
    --截取
    select * from aaa where Convert(Varchar(10), 录入时间, 120) Between  '2007-02-01' And '2007-02-28'--不截取
    select * from aaa where Convert(Varchar(10), 录入时间, 120) Between  '2007-02-01 00:00:00' And '2007-02-28 23:59:59'