Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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 错误代码:1525。使用STR_TO_DATE的日期值不正确_Mysql - Fatal编程技术网

Mysql 错误代码:1525。使用STR_TO_DATE的日期值不正确

Mysql 错误代码:1525。使用STR_TO_DATE的日期值不正确,mysql,Mysql,为什么我会收到此错误: Error Code: 1525. Incorrect DATE value: '01-01-2017' 使用此查询时: CREATE VIEW 2017Employees AS SELECT EmployeeID FROM contract WHERE `Start` <= STR_TO_DATE('01-01-2017','%d-%m-%y') AND DueFinish>= STR_TO_DATE('31-12-

为什么我会收到此错误:

Error Code: 1525. Incorrect DATE value: '01-01-2017'
使用此查询时:

CREATE VIEW 2017Employees AS 
    SELECT EmployeeID 
    FROM contract 
    WHERE `Start` <= STR_TO_DATE('01-01-2017','%d-%m-%y') 
    AND DueFinish>= STR_TO_DATE('31-12-2017','%d-%m-%y');
我认为STR_TO_DATE函数将字符串转换为日期。

您必须使用%Y而不是%Y,因为您使用的是四位数字的年份:

CREATE VIEW 2017Employees AS 
SELECT EmployeeID 
FROM contract 
WHERE `Start` <= STR_TO_DATE('01-01-2017','%d-%m-%Y') 
 AND DueFinish>= STR_TO_DATE('31-12-2017','%d-%m-%Y');
您可以在以下网站上找到所有可用的格式说明符,并提供解释:

%Y-年份,数字,四位数 %y年,数字两位数 2017年1月1日4个字符年的资本Y,'%d-%m-%Y'