**sql 中查詢時間段語句
曾經遇到這樣的情況,在數據庫的Meeting表中有PublishTime (DateTime,8)字段,用來存儲一個開會時間,在存入時由于要指明開會具體時間,故格式為yyyy-mm-dd hh:mm:ss,而我們查詢時是通過yyyy-mm-dd來進行的,即查詢某一天的所有會議信息,這樣如果通過select * from Meeting where PublishTime=@PublishTime (參數@PublishTime為yyyy-mm-dd格式)語句進行查詢將無法得到正確結果,比如我們要查詢2004年12月1日的會議信息,在輸入2004-12-01時就不能得到查詢結果,而這種查詢又不能要求輸入具體的hh:mm:ss.
此時我們需要使用convert函數,它可以將一種數據類型的表達式轉換為另一種數據類型的表達式.此處我們先將數據庫內的datetime類型轉換為char類型,由于輸入的參數是10位的,所以寫成
select * from Meeting where convert(varchar(10),PublishTime,121))=@PublishTime,這樣在查詢時數據庫得到參數后先自動將數據庫內的信息轉換為yyyy-mm-dd格式的10位字符,只要與參數相同即可返回查詢結果.而convert中的121是指將datetime類型轉換為char類型時獲得包括世紀位數的4位年份
* access數據庫中時間段查詢語句怎么寫
:給你一個程序段:體會一下!
Ssql1 = "SELECT 賠案號,出險日期,賠金額,牌照號,意向書號,險種,被保險人名稱,電話,保單號,錄入日期,出險原因,所屬業務員 FROM LP_001 where 錄入日期>= #" & DTP1 & "# And 錄入日期<= #" & DTP2 & "# AND 領款人 IS Null AND mid(險種,1,2)='DA'"
* Ssql1, m_Cnn, adOpenStatic, dLockOptimistic
-----------------
日期是用TD控件反映的,不難,注意:書寫格式!!
不然會報:錯!!!
*查詢語句日期區間實現對查詢結果累加
string st= *tDateString();
string et= *tDateString();
string sql = "select sum(tshul) as 數量 from 表t1 where startdate <='"+st+"'
and enddate >='"+et+"';dtp2也相當于是開始時間 ,dtp3的相當于結束日期 對嗎?如果是,那么就只要判斷dtp2日期是大于等于startdate,和dtp3日期是小于等于enddate。樓主試一下看看。