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'