"Nat!" <nat(at)mulle-kybernetik(dot)com> writes:
> create temporary table foo ( nummer character(12) );
> insert into foo ( nummer) values( '1848' ) ;
> select count(*) from foo where nummer = '1848' ;
> -- returns 1
> select count(*) from foo where nummer like '1848' ;
> -- returns 0
The trailing spaces are significant when doing LIKE on a char(n) column.
regression=# select '1848'::character(12) like '1848';
?column?
----------
f
(1 row)
regression=# select '1848'::character(12) like '1848 ';
?column?
----------
t
(1 row)
(By and large, my advice for all such cases is "don't use char(n)".
It has no redeeming social value whatever.)
regards, tom lane