Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在where子句中仅选择年和月_Php_Mysql_Select_Pdo - Fatal编程技术网

Php 在where子句中仅选择年和月

Php 在where子句中仅选择年和月,php,mysql,select,pdo,Php,Mysql,Select,Pdo,我的数据库中有此值101101-2017-06-000 它是列lddap\u no的值,我想选择年份等于当前年份且当前月份的值,我的查询是 从lddap中选择lddap\u编号,其中年份(lddap\u编号)='2017'和月份(lddap\u编号)='06'按系统id描述限额1订购 我分别使用了YEAR()和MONTH(),但不起作用,即使我有一个条目,也没有结果 如何从未设置日期格式的列值正确比较年和月 更新 使用其中年份(子字符串(lddap_编号,7,10))=“2017”和月份(子字符

我的数据库中有此值101101-2017-06-000 它是列
lddap\u no
的值,我想选择年份等于当前年份且当前月份的值,我的查询是

从lddap中选择lddap\u编号,其中年份(lddap\u编号)='2017'和月份(lddap\u编号)='06'按系统id描述限额1订购

我分别使用了YEAR()和MONTH(),但不起作用,即使我有一个条目,也没有结果

如何从未设置日期格式的列值正确比较年和月

更新

使用
其中年份(子字符串(lddap_编号,7,10))=“2017”和月份(子字符串(lddap_编号,12,13))=“06”
仍然相同,未找到任何结果

试过用这个吗

WHERE YEAR(SUBSTRING(CAST(lddap_no AS VARCHAR(100)), 7, 10)) = '2017'  AND MONTH(SUBSTRING(CAST(lddap_no AS VARCHAR(100)), 12, 13)) = '06'
也许你可以试试:

SELECT * FROM lddap WHERE lddap_no LIKE '%2017-06%';

这是一个XY问题。这里真正的问题是您以错误的格式存储数据。将日期存储为日期或日期时间,然后可以使用MySQL日期函数开始查询

同时,由于它是一个varchar,对于一个廉价的黑客,您可以尝试一个类似的条款:

…其中ldap\u不喜欢“%-2017-06-%”


可能值得一试。

mysql是我正在使用的,但我也想知道在sql中它们是相同的。使用子字符串提取年份和月份仅用于提取日期的年份值。您的值不是日期或日期时间值,因此函数MONTH和year将不起作用。可能重复