我的mysql数据库是mysql5.5.8
有两张表 t1,t2,t1表结构和数据如下:
表结构:
cor_id int
cor_name varchar(30)
cor_code varchar(30)
数据:
cor_id cor_name cor_code
271 移动公司彩铃 311G10C0030
272 仪科有限公司 311B160315
273 宏宝有限公司     311R050036
274 街道办事处 311RXJ0080t1表结构和数据如下:
表结构:
cor_id int
param_name varchar(30)
数据
cor_id param_name
311 serviceid
411 serviceid执行下面的查询语句时候:
SELECT a.`cor_id`,b.cor_name,b.cor_code FROM t1 a, t2 b WHERE a.cor_id=b.cor_code
因为cor_code 是字符类型,cor_id是整型,cor_code里面的内容默认转换成数字
311G10C0030 转换成311
结果造成查询结果是:cor_id cor_name cor_code
311 移动公司彩铃 311G10C0030
311 仪科有限公司 311B160315
311 宏宝有限公司     311R050036
311 街道办事处 311RXJ0080
而其实结果应该是没有记录。
如果我改成
SELECT a.`cor_id`,b.cor_name,b.cor_code FROM t1 a, t2 b WHERE concat(a.cor_id)=b.cor_code
那么没有查询记录如果我不想用这种显示转换
SELECT a.`cor_id`,b.cor_name,b.cor_code FROM t1 a, t2 b WHERE concat(a.cor_id)=b.cor_code
还有什么其他办法吗,比如说从数据库的参数配置可以做到吗?