Portál AbcLinuxu, 10. května 2025 13:55

Dotaz: mysql - SELECT podle delky pole

17.4.2005 22:02 Michal
mysql - SELECT podle delky pole
Přečteno: 184×
Odpovědět | Admin
potrebuju v mysql provest asi nasledujici prikaz:

SELECT * FROM tabulka WHERE len(sloupec) = 2;

proste v jednom sloupci mam data: A, AA, AB, AC, AAB, a potrabuju vybrat jen ten, ktery ma delku dve pismena. Prikaz fungoval v MSSQL, ale v mysql to bohuzel nelze.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.4.2005 22:27 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: mysql - SELECT podle delky pole
Odpovědět | | Sbalit | Link | Blokovat | Admin
preco by to nemalo fungovat? takato vec funguje aj v oracle. where length(stlpec) = 2;

ak to nefunguje, tak aku chybu to vypise?
17.4.2005 22:37 michal
Rozbalit Rozbalit vše Re: mysql - SELECT podle delky pole
mno nefunguje to, vypis mas tady:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(id) = 2' at line 1

ted jsem zkousel porovnat to jestli jako mensi nebo vetsi a to mu jde.

SELECT * FROM tabulka WHERE lenght(id) < 3; je OK
17.4.2005 22:27 spectrum | skóre: 29 | blog: spectrumblog
Rozbalit Rozbalit vše Re: mysql - SELECT podle delky pole
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zdar, sice nevim jak to souvisi s Linuxem, ale ted jsem to vyzkousel pomoci nasledujiciho prikazu a funguje to tak jak ma:
SELECT * FROM tabulka where length(sloupec) < 3
Takze nevim jak mssql, ale tady se to asi jmenuje length a misto rovna se jsem radsi dal znamenko mensi, aby me to nepletlo.
17.4.2005 22:34 michal
Rozbalit Rozbalit vše Re: mysql - SELECT podle delky pole
hmmm, tak to funguje, lenght jsem zkousel uz driv, ale chyba byla asi to, ze jsem to zkousel jenom jako:

SELECT * FROM tabulka WHERE lenght(id) = 2;

a ne

SELECT * FROM tabulka WHERE lenght(id) < 3;

a myslq podporuje jenom < nebo >. To mi uniklo, diky. Nicmene porovnat to ke konkretni delce by bylo lepsi. Lip se mi pise lenght = 2 nez lenght < 3 AND lenght > 1
17.4.2005 22:46 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: mysql - SELECT podle delky pole
WTF?

SELECT * FROM tabulka WHERE length(COL) = 2;

normálně funguje. Tvůj problém byl asi v tom, žes psal len().
Valoun avatar 17.4.2005 23:26 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
Rozbalit Rozbalit vše Re: mysql - SELECT podle delky pole
Nesmite si splest 'length' a 'lenght' - to druhe totiz v anglictine (a tudiz i v SQL) neexistuje. Pri pouziti neexistujici fce se opravdu MySQL chova tak, jak bylo zmineno.

Slova se pouzivaji tato: length, width, height, proto ty zmatky.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.