Portál AbcLinuxu, 15. května 2025 22:34
SELECT IF(STRCMP(jazyk, 'cs' ) , cesky, 'nijak') AS hodnota ... vždy vrátí sloupec cesky bez ohledu na jazykKde dělám chybu a jak to přinutit dělat to co potřebuji?
SELECT IF(jazyk='cs', cesky, 'nijak') AS hodnota ...také nefunguje. Ve sloupci jazyk se samozřejmě střídá hodnota cs s hodnotami dalšími, abych viděl jak to funguje (resp. zde nefunguje).
declare jazyk varchar(5); select 'cs' into @jazyk; select nejaky_sloupec, case when @jazyk = 'cs' then cesky when @jazyk = 'en' then anglicky else nijak end, dalsi_sloupec from...
Aspon doufam, ze to nepletu. Konzultuj s manualem.
Dejv
If expr1 is TRUE (expr1 <> 0 and expr1 <> NULL) then IF() returns expr2; otherwise it returns expr3a
STRCMP() returns 0 if the strings are the sametak bud zmenit poradie expr2 a expr3 (nijak, cesky), alebo znegovat expr1 na !strcmp() .. na mysql 5.1.56 funguje korektne; pokial to je stale nekorektne, budu imho problem v hodnotach a nie v mysql
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.