我有一個案例來查詢表使用WHERE子句,其中我只想使用字段'字符串'來比較我的字符串作爲條件選擇。使用PHP的Substr()函數查詢表
在圖片中,我只是想用月和年從日期場$indicator = 03/2013
比較。
任何想法如何能執行查詢,這樣的結果會是這樣的:
任何幫助將不勝感激。先進的謝謝你。
我有一個案例來查詢表使用WHERE子句,其中我只想使用字段'字符串'來比較我的字符串作爲條件選擇。使用PHP的Substr()函數查詢表
在圖片中,我只是想用月和年從日期場$indicator = 03/2013
比較。
任何想法如何能執行查詢,這樣的結果會是這樣的:
任何幫助將不勝感激。先進的謝謝你。
最有可能的,你是不是在處理表格中的字符串,因爲它是最有可能的日期。如果你正在處理的字符串,它的
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()可以做的事情很簡單。
使用LIKE
在你的MySQL查詢,而不是=
參考:(source)
請注意,只是切換到LIKE不能解決任何問題,因爲LIKE比較嚴格,那麼=是。您需要使用%來設置比較中的通配符模式。 – 2013-04-08 01:58:08
@Arewrew @你的權利,但更好地檢查資源鏈接將是偉大的你.. – 2013-04-08 02:01:31
不知道你是什麼意思,我沒有檢查參考鏈接,特別是'按照SQL標準,LIKE執行每個匹配字符的基礎上,因此它可以產生不同於=比較運算符的結果:' – 2013-04-08 02:03:13
謝謝安德魯,我認爲這是最好的答案。 – 2013-04-08 01:56:15