2013-08-06 93 views
-1

我已經寫了下面的查詢之間的兩個不同的日期。MSQL加入包括條件

SELECT bmr_multi_price. * 
FROM bmr_multi_price 
INNER JOIN bmr_rooms ON bmr_rooms.resort_id = bmr_multi_price.resort_id 
AND bmr_rooms.id = bmr_multi_price.room_id 

對於上面的查詢我有下面的結果集。

enter image description here

,但我想包括以下條件實現上述結果。

WHERE ('08/02/2013' BETWEEN bmr_multi_price.from_date AND bmr_multi_price.to_date) OR ('08/03/2013' BETWEEN bmr_multi_price.from_date AND bmr_multi_price.to_date) 
+2

然後呢?那麼發生了什麼? –

+4

你有問題嗎,或者你只是給出狀態報告? – spencer7593

+1

我猜他想要演員? – sashkello

回答

1

如果查詢沒有返回預期的結果,可能的解釋是,你比較字符串,而不是日期。

MySQL的STR_TO_DATE功能是在給定的格式字符串轉換成DATE值的便捷方法。我要去猜測該字符串表示爲mm/dd/yyyy格式的日期,基於結果集返回的值。

STR_TO_DATE('08/12/2013','%m/%d/%Y') 

如果這些列被定義爲字符,而這一天,那麼你可以將它們轉換以及:

STR_TO_DATE(bmr_multi_price.from_date,'%m/%d/%y') 

MySQL提供了DATE數據類型這使得使用日期更加容易和(通常)效率更高。

+0

非常感謝您對我的支持!並且我將日期字段類型從char更改爲DATE – Prabu