2012-02-01 62 views
1

我想知道是否有方法檢查字符串的前幾個字符,而不必先從數據庫中選擇字符串。PHP MySQL檢查字符串中是否只包含前幾個字符的查詢

我正在製作高級搜索功能以添加到我的網站搜索功能中。高級搜索功能可讓您按日期搜索。數據庫中的日期看起來像2/1/2012。如果用戶輸入February,我將其轉換爲編號2。然後我用這條線(而不是精確的線)查詢數據庫:

mysql_query(SELECT * FROM database WHERE date LIKE '%2%'); 

然而,此方法返回的日期數2所有行。我想僅搜索該號碼的前兩個字符。這是可能使用MySQL查詢,還是我必須做更長的路?

+0

看一看這個問題貼在幾分鐘前: http://stackoverflow.com/questions/9104704/select-mysql-based-only-on-month-and-year/9104747#comment11437205_9104747 – 2012-02-01 23:30:09

+3

您應該將日期作爲日期存儲在數據庫中,而不是字符串。 – 2012-02-01 23:32:14

+1

前兩個字符中的任何地方?難道這不可能導致不需要的月份,如12(12月)?如何使用'OR'運算符? 'LIKE '02 /%'或日期LIKE'2 /%''? – Josh 2012-02-01 23:37:13

回答

1

請使用您的字段的Mysql Date Data Type

然後你就可以按日期和所有其他不錯的功能範圍搜索你想添加,以及轉換的日期數據來呈現不同的,如:

2/2/2012

Feburary 2nd

Feb 2 '12

etc ...

查看MySQL date reference更多功能。

相關問題