2013-04-08 36 views
0

我有一個案例來查詢表使用WHERE子句,其中我只想使用字段'字符串'來比較我的字符串作爲條件選擇。使用PHP的Substr()函數查詢表

在圖片中,我只是想用日期$indicator = 03/2013比較。

任何想法如何能執行查詢,這樣的結果會是這樣的:

enter image description here

任何幫助將不勝感激。先進的謝謝你。

回答

1

最有可能的,你是不是在處理表格中的字符串,因爲它是最有可能的日期。如果你正在處理的字符串,它的

SELECT * FROM table WHERE DATE LIKE '%03/2013'; 

其中%是像在老的DOS天

對於實際日期字段,(你會過得更好使用)*通配符,這之間的簡單

SELECT * FROM table WHERE DATE BETWEEN '01/03/2013' AND '31/03/2013' 

請注意,您需要按照正確的日期格式爲你的引擎,像MySQL中,你會更好使用'2013-03-01''2013-03-31'

最難的部分將是第一天和最後一天,但爲此,我會看看strtotime(),它允許你放置諸如'Last day of the month'之類的東西。你必須正確地格式化它,然後使用這些字符串,但是strtotime()可以做的事情很簡單。

+0

謝謝安德魯,我認爲這是最好的答案。 – 2013-04-08 01:56:15

1

使用LIKE在你的MySQL查詢,而不是=

參考:(source

+1

請注意,只是切換到LIKE不能解決任何問題,因爲LIKE比較嚴格,那麼=是。您需要使用%來設置比較中的通配符模式。 – 2013-04-08 01:58:08

+0

@Arewrew @你的權利,但更好地檢查資源鏈接將是偉大的你.. – 2013-04-08 02:01:31

+0

不知道你是什麼意思,我沒有檢查參考鏈接,特別是'按照SQL標準,LIKE執行每個匹配字符的基礎上,因此它可以產生不同於=比較運算符的結果:' – 2013-04-08 02:03:13