Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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
为什么我的MySQL查询没有返回任何结果,尽管我可以在数据库中找到它们?_Mysql - Fatal编程技术网

为什么我的MySQL查询没有返回任何结果,尽管我可以在数据库中找到它们?

为什么我的MySQL查询没有返回任何结果,尽管我可以在数据库中找到它们?,mysql,Mysql,我要搜索Current,这意味着他们的截止日期是d005部门的01/01/9999员工编号 我尝试使用以下查询: select emp_no from current_dept_emp where dept_no = 'd005' and date_format(to_date,'%d/%m/%y') = '01/01/9999'; 它返回一个空结果 然后,我想也许9999年1月1日不是一个日期,我可以将它视为一个字符串,我使用通配符作为字符串,而不是日期,如下所示: select emp

我要搜索Current,这意味着他们的截止日期是d005部门的01/01/9999员工编号

我尝试使用以下查询:

select emp_no 
from current_dept_emp 
where dept_no = 'd005' and date_format(to_date,'%d/%m/%y') = '01/01/9999';
它返回一个空结果

然后,我想也许9999年1月1日不是一个日期,我可以将它视为一个字符串,我使用通配符作为字符串,而不是日期,如下所示:

select emp_no 
from current_dept_emp 
where dept_no = 'd005' and to_date like '%9999';
还是一无所获

但表中的部分看起来像:


我的代码出了什么问题?

您可能想将“%d/%m/%Y”与大写字母Y一起使用

什么是“截止日期”列的数据类型?我们需要知道数据类型是VARCHAR还是DATE或DATETIME。这很重要。如果是DATETIME,那么我们可以执行WHERE to_date>'9999-01-01'和to_date<'9999-01-02'以提高性能,对于谓词中引用的列,我们通常希望避免将它们包装在函数中,而是针对裸列编写谓词。e、 g.如果to_date是日期数据类型,我们可以在何处执行to_date='9999-01-01'