spatne lcase(concat(..)) v mysql5 - bug?
Ondrej Koala Vacha
koala na vju.cz
Úterý Únor 14 09:29:57 CET 2006
Dobry den,
v mysql5, ktera ma collation na sloupce, jsem nasel nasledujici problem.
Je pravdepodobne, ze se vyskytuje i v mysql4, ktera uz ma collation. Oc
jde:
------------------------------
drop table if exists a;
create table a (
id int(5) not null,
tt char(255) not null
);
insert into a values (1,'Aa');
insert into a values (2,'Bb');
insert into a values (3,'Cc');
select lcase(concat(id,' ',tt)) from a;
-------------------------------------
Jestlize jsou v concat funkci pouze znaky, pak lcase prevede na mala
pismena. Jestlize je tam vsak cislo (v nase prikladu id), pak se prevod
nekona. Pricemz manual se nam snazi namluvit, ze se tak deje:
CONCAT(str1,str2,...)
Returns the string that results from concatenating the arguments. Returns
NULL if any argument is NULL. May have more than 2 arguments.
A numeric argument is converted to the equivalent string form: <-------------------
mysql> SELECT CONCAT(My, S, QL);
-> MySQL
mysql> SELECT CONCAT(My, NULL, QL);
-> NULL
mysql> SELECT CONCAT(14.3);
-> 14.3
Dela to na mne dojem bugu, ale ptam se pro jistotu, zda to neni nejaka
featurka nebo kompilacni option.
s diky
--
Ondrej Koala Vacha
mysql5.0.18, --with-charset=latin2 --with-collation=latin2_czech_cs
Další informace o konferenci Databases