簡體   English   中英

選擇查詢之間的日期

[英]select date between query mssql

我有查詢:

SELECT  Firma, Czas, Dzien, Opis, Kto, ID
FROM    Rok2016
WHERE   (Dzien BETWEEN @z1 AND @z2) 
AND ((@x='*' AND Firma!='')OR(@x!='*' AND Firma=@x))
AND ((@y='*' AND Kto!='')OR(@y!='*' AND Kto=@y))

z1和z2是格式日期,例如DD / MM / YYYY。

這將顯示幾天之間的所有記錄,並且根本不考慮月份。 請幫忙

對於SQL Server:

如果要比較日期,則應使用日期(或datetime / 2)數據類型。

使用set dateformat dmy; 為了避免convert()中的格式沖突:

set dateformat dmy;

SELECT  Firma, Czas, Dzien, Opis, Kto, ID
FROM    Rok2016
WHERE   (convert(date,Dzien) BETWEEN convert(date,@z1) AND convert(date,@z2)) 
  AND ((@x='*' AND Firma!='')OR(@x!='*' AND Firma=@x))
  AND ((@y='*' AND Kto!='')OR(@y!='*' AND Kto=@y))

像這樣將您的@ z1和@ z2轉換為實際日期

Select convert(date,'15/06/2016',103)

退貨

2016-06-15

還是你的情況

...
Dzien BETWEEN convert(date,@z1,103) AND convert(date,@z2,103)
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM