xPatryk
7.02.2004, 09:57:03
Witam
Mam problem...
potrzebuję pobrać z bazy MySQL pierwsze 128 słów z danego pola... próbowałem podczas dodawania opisu robić tak, żeby całość trafiała do pola typu TEXT, a początek do pola typu CHAR (512), jednak to nie zawsze zdaje egzamin... czy jest jakas inna możliwość ?
Pozdrawiam
Patryk
Co prawda nie wiem, jak poradzić sobie z liczeniem słów, ale znalazłęm coś takiego:
[sql:1:bba6e0a7d0]SELECT
LEFT( tresc, IF(LENGTH(tresc)<500, LENGTH(tresc), LOCATE(' ', tresc, 500))) AS wpis
FROM news ; [/sql:1:bba6e0a7d0]
Kod pobiera maxymalnie 500 znaków z pola tresc. Jeżeli w polu znaków jest więcej, przycina długość do pierwszej spacji wystepującej po 500-tnym znaku.
Trzeba tylko uważać z LOCATE(co, gdzie, odkad) - jesli LENGTH(gdzie)<odkad dostaniemy pusty string.
spenalzo
7.02.2004, 13:54:16
Najprościej można tak:
[sql:1:d77a75ed1f]SELECT SUBSTRING_INDEX(jakiespole,' ',128) AS skrot FROM ...... [/sql:1:d77a75ed1f]