SQL查询属于某天的记录!(30分)

  • 主题发起人 主题发起人 hhjjhhjj
  • 开始时间 开始时间
H

hhjjhhjj

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样在SQL查询器中查询一表中属于今天的记录,不要输入参数 ,表中有datetime的字段
 
什么数据库?
 
SQL.Add(' WHERE Field >= ''' + FormatDatetime('YYYY-MM-DD', 日期) + '''');
SQL.Add(' AND Field < ''' + FormatDatetime('YYYY-MM-DD', 日期+1) + '''');
 
或者
SQL.Add(' WHERE CONVERT(CHAR(10), Field, 120) = '''+ FormatDatetime('YYYY-MM-DD', 日期) + '''');
 
在SQL查询器中查询写的语句,
 
SELECT ....
WHERE Field = '2006-01-02'
 
没有用,可不可以用Getdate()
 
SQL.Add(' WHERE CONVERT(CHAR(10), Field, 120) = '''+ FormatDatetime('YYYY-MM-DD', date) + '''')
 
oracle:
select * from table where to_date(datetime,'yyyy-mm-dd')=to_date(sysdate,'yyyy-mm-dd');
一般来说就是将datetime 子段变成年月日的形式,在和变成年月日的形式的sysdate进行比较,或者用to_char,to_date这些函数,或者去搜索一下对应数据库的时间日期函数也行
 
用:new( ) 不行吗?
 
select * from table1 where field>=DATEADD(day,DATEDIFF(day,0,getdate()),0)
and Field<DATEADD(day,DATEDIFF(day,0,getdate()+1), 0)
 
多人接受答案了。
 
后退
顶部