达梦类型问题

390 阅读1分钟

达梦类型问题

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下,类型会隐式转换,这种的话写法不规范,可能不走索引,但是不会报错;在达梦数据库下,会报错,所以要按照对应的类型修改;