[SQL ] 日期型態欄位的比較問題

作者: bb0311y (瞬月)   2016-04-20 18:16:28
資料庫名稱:Visul dbtools
資料庫版本:
內容/問題描述:
小弟最近在網路上看到VD30的介紹
於是開始透過網路上的資料跟教學自學
但過去並沒有碰過資料庫跟SQL
都還在摸索階段...所以提出的問題可能很新手....
===================問題=========================
小弟目前幫親戚家開的車行用VD寫個小型資料庫
在資料表Bike中設定多個欄位,其中一個BikeDate是D型態(若沒有誤會這應該是Datetime)
現在需要做出一個查詢表單
就是找出A日期到B日期中的訂單
於是我用的方式如下
方式A

WHERE CONVERT(c8, BikeDate , 112) BETWEEN &(EDIT0.TEXT) AND &(EDIT1.TEXT)
原本的想法是把BikeDate轉成字串就能跟TEXT作比較
此處的EDIT.TEXT是用程式元件Calendar回傳的20160404
但系統回傳的錯誤訊息如下

若解讀的意思沒錯這句話應該是指語法不能這樣寫?
備註:有試過CONVERT(char(8) , BikeDate ,112)也是一樣的結果
方式B

WHERE BIKEDATE BETWEEN &(Calendar0.DATE) AND &(Calendar1.DATE)
這邊我用程式內的元件calendar去選取日期
並回傳date格式的資料
我想說BikeDate是日期型態,若回傳的資料也是Date應該就能進行比較了
但系統也是出現錯誤訊息如下

因為身邊沒有人在學SQL無法詢問
加上網路上找不到相關範例或資料(也可能是我搜尋的方式不對)
想請問各位前輩這部分該如何處理
感覺網路上很少能找到這個程式的教學或心得
作者: Ammenze (藍天白雲)   2016-04-22 13:01:00
我沒用過這東西,不過你應該是要丟SQL文字給它吧?如果是的話,"BETWEEN &(Calendar0.DATE) AND &"這段少個字串連接符號"&",(Calendar0.DATE) & AND &才對上面說的請用方式A執行,B比較難解釋

Links booklink

Contact Us: admin [ a t ] ucptt.com