簡體   English   中英

從表中選擇*的日期之間選擇

[英]Select * from table where date selected is between

我試圖建立以下查詢select * from table ,其中minDate03-02-2014maxDate01-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.

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