[英]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.