Precyzyjny LIKE

YO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 540
0

Zastanawiam się czy da się doprecyzować, sprecyzować zapytane z LIKE, czy one zawsze będzie takie ... a nie inne. Ściągnąłem sobie moją bazę na komputer. Wg notepad++ mam 149 wystąpień tajemniczego ciągu znaków wpisane w LIKE. Baza zwraca 121 a powinna 128.

I tu jest pytanie. Czy da się zmusić te polecenie tak aby treści LIKE szukała w pierwszych powiedzmy w pierwszych 30 słowach wpisu ?

mam zapytanie teraz takie:

Kopiuj
SELECT COUNT( * ) AS  `count` FROM  `tabela` WHERE  `tresc` LIKE  "%zdanie na początku niektórych wpisów%"

I mając takie coś:

Kopiuj

Bla bla bla bla 12.01.2012 r. zdanie na początku niektórych wpisów <br><p>coś tu jest</p>. I powiedzmy, że tu jest ponad 30 słów. I sobie piszę: bla blaaaa zdanie na początku niektórych wpisów blaaaaaaaa zdanie na początku niektórych wpisów. 

Ogranicznik do 30 pierwszych słów dla wpisu powinien zwrócić mi wynik "1" a nie "3" w tym wypadku. To pozwoliłoby uniknąć błędów, że gdzieś w środku wpisu coś tam jest tam napisane. Co nie powinno :) Dla każdego ID oczywiście osobno. Da się tak? Czy nie bardzo ?

Miang
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1801
0

substr()

YO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 540
0

Możesz dać jakiś przykład?

Miang
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1801
1

WHERE substr('tresc',1,10) LIKE '%zdanie%'
oczywiście tu masz znaki nie słowa

YO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 540
0

O nawet działa, dzięki :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.