從程式中傳遞開始日期與結束日期至儲存過程

2021-09-07 03:18:16 字數 934 閱讀 2796

先來看看這個功能:

你會在程式介面放兩個文字框,讓使用者填入日期來進行查詢資料。此時你可能會想到它有三種情況出現,使用者只填第乙個文字框,或只填第二個文字框,也有可能兩個均填。

這三種情況,你將怎樣處理邏輯呢?

insus.net所理解,如果使用者只填第乙個文字框日期,第二個沒有填,那就意味著使用者是想告訴系統想查詢大於等於這個日期的記錄。

如果第乙個文字框沒有填,只填第二個日期,說明是想查詢小於或等於這個日期的記錄。

如果兩個均填,說明是查詢這個日期之間的記錄。大於等於開始日期,小於等於結束日期。

在這裡,如果有結束日期判斷時,小於等於的條件,會有可能記錄不正確。因為傳於的日期,真正傳入至sql時,它會變時***x-xx-xx 00:00:00.000對吧。

如果所查詢的字段包含有時間的話,就不準確了。 記錄有2015-10-23 09:55:13值,但你傳的日期如2015-10-23,經轉換後為2015-10-23 00:00:00,此時使用小於等於就查詢不到這筆記錄了。

因此要處理結束日期時,正確使用條件是把結束日期加一天,用小於條件來處理。

在儲存過程中,你可以這樣寫:

得到where條件,你就可以進行下一步了:

上面#33和#34行**判斷,如果使用者兩個文框的日期都沒有填寫時,直接是查詢所有日期的記錄。

另外是使用動態的sql來執行。語法方面不懂,查閱一下msdn。

Flex 開始日期與結束日期DateField元件

1.2.6.7.8.9.10.18.19.20.21.22.23.25.26.27.29.對於結束日期 selectablerange 當中需要注意的是黑體字部分,設定了可用範圍的起始時間將由startdf的選擇日期決定。datefield元件除了提供可用範圍外,還提供了不可用範圍,不過此種做法畢竟...

結束日期必須大於開始日期

2011 07 28 09 24 在做時間查詢時,有時需要兩個日期,從乙個日期到另外乙個日期的那種,但是這樣會有乙個問題,比如後者的結束日期晚於開始日期怎麼辦?用js寫驗證,麻煩,呵呵,用這個日曆控制項,可方便實現結束日期只顯示開始日期之後的日期,具體的參看以下效果圖 比如我選擇開始日期是7月28,...

extjs 日期開始結束

ext.form.datefield 日期範圍控制 專案中有時需要用到起始日期和結束日期,要做到起始日期必須小於結束日期。在extjs中已經有現成的函式,摘錄如下 daterange function val,field if field.startdatefield this.daterangem...