我有一个案例来查询表使用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