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