This is a follow-up on the previous post.
Now that we know trailing space(s) is 'not that important' as far as DB2 is concerned, what would you expect in a simple '=' comparison?
Let's do a little test:
db2 => create table smallt (c1 varchar(4)) ;
DB20000I The SQL command completed successfully.
db2 => insert into smallt values 'B', 'B ', 'B ';
DB20000I The SQL command completed successfully.
db2 => select length(c1), c1 from smallt ;
1 C1
----------- ----
1 B
2 B
3 B
3 record(s) selected.
We have three rows with different 'length' due to the trailing space(s) we inserted. If we compare this column to itself, ie, c1 = c1, how many rows would you expect?
Three?
Let's see ...
db2 => select * from smallt t1, smallt t2 where t1.c1 = t2.c1 ;
C1 C1
---- ----
B B
B B
B B
B B
B B
B B
B B
B B
B B
9 record(s) selected.
Need I say more? ;)
No comments:
Post a Comment