[英]Select * from table where date selected is between
我試圖建立以下查詢select * from table
,其中minDate
是03-02-2014
和maxDate
是01-03-2014
但是我想念的東西。
希望有人可以幫助我。
SELECT * From table Where
SUBSTRING(mydate, 1, 10) >= REPLACE('03-02-2014','-','/') AND
SUBSTRING(mydate, 1, 10) <= REPLACE('01-03-2014','-','/')
注意:“我的日期”列的類型為varchar,其值像這樣-> 03/02/2014 18:13:16
我在SQL Server Management Studio中工作(T-SQL)
您可以執行以下操作:
Select * From Table
Where CONVERT( Datetime, mydate ,110 ) between CONVERT( Datetime, @min ,110 ) and between CONVERT( Datetime, @max ,110 )
從您的評論看來,表的mydate
列似乎是英式格式。
閱讀有關SQL SERVER中日期轉換的文章 ,以了解有關日期轉換的更多信息。
還使用該格式的日期轉換更新了我的答案。
嘗試類似
SELECT * FROM table
WHERE CONVERT(DATE, SUBSTRING(mydate, 1, 10), 103) >= CONVERT(DATE, '03/02/2014', 103)
AND CONVERT(DATE, SUBSTRING(mydate, 1, 10), 103) <= CONVERT(DATE, '01/03/2014', 103)
我目前沒有SSMS,但是可以嘗試一下快速嘗試
SELECT * From table Where
CAST( SUBSTRING(mydate, 1, 10) as date) BETWEEN CAST( SUBSTRING('START DATE', 1, 10) as date)
AND CAST( SUBSTRING('END DATE', 1, 10) as date)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.