sql判断时间段
‘壹’ sql 查询时间段
oracle的写法:
select * from your_table a
where your_date_field between to_date(to_char(sysdate,'YYYYMMDD')||'00 00 00','YYYYMMDD HH24:MI:SS') and sysdate
‘贰’ sql对时间段判断语句
这个是SQL中的判断语句,你可以使用CASE……WHEN……
SELECTto_char(a.attdate,'yyyy-mm-dd')ASdate,--使用日期
(CASEWHENa.attdate<'2013-7-1'THEN'甲'ELSE'乙'END)ASperson--使用人
FROMa,b
--Ps:SQL的关键字使用大写是一个好的习惯。
‘叁’ sql对时间段判断语句
如你的数据库中记录时间的项名是selldate(是其他的伍绝话,你改下就行)则:
1.你的历橘悄数据库如果是access用下面的语句
<%
dim
nowstartdate
nowenddate
nowstartdate=2009-01-15
nowenddate=2009-02-15
sql="select
*
from
你的表
where
selldate-#"&nowstartdate&"#>=0
and
selldate-#"&nowenddate&"#<=0"
%>
2.你的数据库如果是mssql用下面的语句
<%
dim
nowstartdate
nowenddate
nowstartdate=2009-01-15
nowenddate=2009-02-15
sql="select
*
from
你的表
where
selldate-'"&nowstartdate&"'>=0
and
selldate-'"&nowenddate&"'<=0"
%>
或者
1.把日期当字符串来操作,其实日期和数字一样,在sql语句中,都肢渣不能加'字符串',否则会出现语法错误
2.选择某个日期中间的记录可以用between
and
而不是用<
>
=等符号,而且日期之间也有讲究,access数据库的日期间用#日期#隔开,mssql用'单引号,如:
timestr类型为日期/时间
dim
datestr1,datestr2
datestr1="2006-8-10"
datestr2=date()
sql="select
*
from
table
where
timestr
between
#"&datestr1&"#
and
#"&datestr2&"#"