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