2013-04-08 70 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