达梦类型问题
1.问题现象
之前用mysql时候运行良好,突然切换了达梦,sql报错,报错信息是这样的
2.分析
sql是这样的
select * from a where a.type=2;
之前在mysql一直正常,在达梦数据库下,报了个错误,数据类型不匹配,
后来看了下达梦数据库字段。这个字段type在表里面是varchar,但是等值的话比对的是数值,mysql和达梦语法不同,所以报错;
修改sql,
select * from a where a.type='2';
运行成功
3.结论
在mysql下,类型会隐式转换,这种的话写法不规范,可能不走索引,但是不会报错;在达梦数据库下,会报错,所以要按照对应的类型修改;