pingcap / pingcap/tidb

diffrent column type join result an error result

Open
#32,990 0 comments 0 reactions 0 assignees View on GitHub
type/enhancement
Dominant language
Go
Stars
40.5k
Forks
6.2k
PR merge metrics
PR metrics pending

Description

## Enhancement
版本:
Release Version: v5.4.0
Edition: Community
Git Commit Hash: 55f3b24c1c9f506bd652ef1d162283541e428872
Git Branch: heads/refs/tags/v5.4.0
UTC Build Time: 2022-01-25 08:39:26
GoVersion: go1.16.4
Race Enabled: false
TiKV Min Version: v3.0.0-60965b006877ca7234adaced7890d7b029ed1306
Check Table Before Drop: false

1、测试的表和数据
CREATE TABLE t_test_var (
bill_id varchar(500) NOT NULL COMMENT '账单ID',
PRIMARY KEY (bill_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

insert into t_test_var values('849217463153074184');

CREATE TABLE t_test_int (
bill_id bigint(20) unsigned NOT NULL COMMENT '账单ID',
PRIMARY KEY (bill_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

insert into t_test_int
values
(849217463153074176),
(849217463153074184),
(849217463153074190);

2、测试语句和结果
a) 测试语句:
SELECT
a.bill_id as bill_id_var,
b.bill_id as bill_id_int
FROM
t_test_var a
LEFT JOIN t_test_int b ON a.bill_id = b.bill_id

b) 测试结果
tidb得到错误结果:
849217463153074184 849217463153074176
849217463153074184 849217463153074184
849217463153074184 849217463153074190

相同语句mysql得到的是正确结果
849217463153074184 849217463153074184

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.