关于 char(10) 与 varchar(20) 两个类型的字段的比较 (oracle 数据库):
有两个表:
A表:
a_id : int
a_code : char(10) = '123'
a_name : varchar(50)
B表:
b_id : int
b_code : varchar(20) = '123'
b_name : varchar(50)
现需要 使用 code 字段关联这两个表:
一开始,我错误的写成:
发现没有结果为空。
经仔细的研究,正确的写法为(与格式无关):
这样,结果出来了,半天的时间学会的小技巧。
有两个表:
A表:
a_id : int
a_code : char(10) = '123'
a_name : varchar(50)
B表:
b_id : int
b_code : varchar(20) = '123'
b_name : varchar(50)
现需要 使用 code 字段关联这两个表:
一开始,我错误的写成:
select * from a left join b on a.a_code = b.b_code
发现没有结果为空。
经仔细的研究,正确的写法为(与格式无关):
select *
from a
left join b
on a.a_code = CAST( trim( substr( b.b_code, 0, 10) ) AS char(10) )
这样,结果出来了,半天的时间学会的小技巧。