【MYSQL】数据类型强制转换导致数据超预期

来源:互联网 发布:java如何编译 编辑:程序博客网 时间:2024/06/11 04:27
-- SQL语句SELECT    `t`.`module_id`,    `ra`.`table_id` -- t.*, ra.*FROM    sys_user_auth AS tJOIN `sys_table` AS `ra` ON `t`.`module_id` = `ra`.`table_id`AND t.user_role_id = 3AND t.module_type = 0;-- 查询结果--N00 0-- 字段数据类型module_id varchar(10)table_id bigint-- 测试select cast('N00' as signed integer)--0 -- 强制转换导致结果集异常-- 修改SQLSELECT    `t`.`module_id`,    `ra`.`table_id` -- t.*, ra.*FROM    sys_user_auth AS tJOIN `sys_table` AS `ra` ON `t`.`module_id` = concat(`ra`.`table_id` )AND t.user_role_id = 3AND t.module_type = 0;

参与计算的数据类型应该尽量一致,不一致建议手工转格式,避免异常问题。

0 0
原创粉丝点击