mysql - 错误代码:1525。使用 STR_TO_DATE 的 DATE 值不正确
问题描述
为什么我会收到此错误:
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');
您可以在以下文档中DATE_FORMAT
找到所有可用的格式说明符和说明:
%Y
- 年份,数字,四位数字%y
- 年份,数字(两位数)
推荐阅读
- windows - 网络用户 $userName /domain
- sql-server - SSRS - Power BI 报告服务器:同时运行订阅
- javascript - node.js 异步等待 - 错误 regeneratorRuntime
- spring - 引起:java.lang.BootstrapMethodError:java.lang.NoClassDefFoundError:redis/clients/jedis/Tuple - Redis Spring Boot
- firebase - 使用 Kotlin Lambda 从 OnCompleteListener 返回
- c# - 在 C1 DataGrid 中设置默认过滤器
- python - 将单项列表字典转换为值字典
- jdbc - 如果 JDBC 驱动程序无法找到特定的类,这意味着什么
- hive - 如何使小写的 Hive 列与大写的 tableau 仪表板列兼容
- android - android...CoordinatorLayout 渲染问题