【发布时间】:2018-10-15 05:36:54
【问题描述】:
我想问一下Mysql(日期)
我有一组数据,其日期使用数据类型 varchar 所以我想更新真实表,但在真实表中,数据类型是日期 当我想更新时,它会显示这样的错误
错误代码:1292 日期值不正确:第 1 行的“dob”列的“1975-11-31”
我意识到日期无效... 那么我应该如何只获得有效日期?
请帮帮我..
这是我的查询
UPDATE ori_table a
INNER JOIN set_of_data dd ON dd.old_id = a.id
SET a.dob = dd.dob_new
WHERE a.id IN (SELECT old_id FROM set_of_data
WHERE status_color = 0
AND dob_new IS NOT NULL
AND age != '#VALUE!'
AND SUBSTRING(dob_new ,6,2) <= 12
AND SUBSTRING(dob_new ,6,2) >= 01
AND SUBSTRING(dob_new ,1,4) <= 2018
AND SUBSTRING(dob_new ,9,2) <= 31
AND SUBSTRING(dob_new ,9,2) >= 01)
AND a.dob IS NULL
【问题讨论】:
-
示例输出是什么?
-
输出是仅在日历上有效的日期示例 1996-06-01 有效 1977 -11-31 无效原始数据 no |日期 1 | 1996-01-06 2 | 1977-11-31 预期结果否 |日期 1 | 1996-01-06
标签: mysql