
方法如下:
MS SQL數(shù)據(jù)庫(kù):
SQL="select * from 表名 where 時(shí)間/日期字段 between '"& 傳遞過(guò)來(lái)開(kāi)始的時(shí)間值 &"' and '"& DateAdd("d",1,""&request.Form("endtime")&"")&"'"
Access數(shù)據(jù)庫(kù):
SQL="select * from 表名 where Ap_addtime between #"& 傳遞過(guò)來(lái)開(kāi)始的時(shí)間值 &"# and #"&DateAdd("d",1,""&request.Form("endtime")&"")&"# ..."
今天做產(chǎn)品高級(jí)搜索遇到了時(shí)間段搜索,發(fā)現(xiàn)了一些常犯的錯(cuò)誤
1. 把日期當(dāng)作字符串來(lái)操作,在SQL語(yǔ)句中,其實(shí)日期和數(shù)字一樣,都不能加'字符串',否則會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤
2. 選擇某個(gè)日期中間的記錄可以用between and 而不是用< > =等符號(hào),而且日期之間也有講究,access數(shù)據(jù)庫(kù)的日期間用#日期#隔開(kāi),mssql用'單引號(hào)',如:
timestr類(lèi)型為日期/時(shí)間
Dim dateStr1,DateStr2
DateStr1="2006-8-10"
DateStr2=Date()
sql="select * from 表名 where 時(shí)間/日期字段 between #"& 開(kāi)始的時(shí)間 &"# and #"& 結(jié)束的時(shí)間 &"#"
ASP比較時(shí)間的SQL語(yǔ)句,其中d為天數(shù)!
access
select * from [table] where datediff('d',時(shí)間字段,Now())=0
--------------------------------------------------------------------------------
Sql Server
select * from [table] where datediff(d,時(shí)間字段,GetDate())=0
您發(fā)布的評(píng)論即表示同意遵守以下條款:
一、不得利用本站危害國(guó)家安全、泄露國(guó)家秘密,不得侵犯國(guó)家、社會(huì)、集體和公民的合法權(quán)益;
二、不得發(fā)布國(guó)家法律、法規(guī)明令禁止的內(nèi)容;互相尊重,對(duì)自己在本站的言論和行為負(fù)責(zé);
三、本站對(duì)您所發(fā)布內(nèi)容擁有處置權(quán)。