今天生成环境出现了一个问题,在使用UNION联合查询两个订单表的时候,提示: 从字符串转换日期和/或时间时,转换失败。看了一下数据,没有问题,所有的时间都是有数据并且格式十分正确。
没办法,只有百度了,但是百度上面竟然搜不到类似的问题!看来这是个低级问题。
只能自己慢慢排查了。突然想到曾经表结构发生过变动,好像有些表的字段顺序没调整?
去w3school看下,果然不出所料,第一行说明上面明确的写着:
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
这就是问题的根源,调整字段顺序,保存,OK,问题恢复。
所以说,基础打牢固很重要。