Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wynik funkcji jako szukana fraza dla LIKE
Forum PHP.pl > Forum > Bazy danych > MySQL
grasnal
Probuje policzy ilosc rekordow w tabeli,. ktore zawieraja okreslony tekst. Szukanym tekstem musi byc wynik funkcji SELECT CURDATE() z wildcardami po lewej i prawej.

Doszedlem do takiej postaci, niestety nie wiem jak zapisac poprawnie fraze dla LIKE zawierajaca wynik funkcji.
  1. SELECT COUNT( * ) FROM tabela WHERE date_upd LIKE '%',(SELECT CURDATE()),'%'

Pomocy!
Dziekowac. smile.gif
wookieb
Nie cyrkuj tylko użyj pola typu datetime a nie tekst i na nim pracuj. Nie będziesz musiał robić takich dziwnych rzeczy
I nie używamy CURDATE ani innych funkcji w sekcji WHERE tylko wstawiamy datę z poziomu skryptu
ylk
try this:
  1. SELECT COUNT(id) FROM tabela WHERE date_upd LIKE CONCAT('%',CURDATE(),'%')
grasnal
Cytat(wookieb @ 11.04.2011, 08:22:28 ) *
Nie cyrkuj tylko użyj pola typu datetime a nie tekst i na nim pracuj. Nie będziesz musiał robić takich dziwnych rzeczy

Tak krawiec kraje jak materii staje. Nie mam wplywu na typ pola, generuje raport z tego co jest.

Cytat(wookieb @ 11.04.2011, 08:22:28 ) *
I nie używamy CURDATE ani innych funkcji w sekcji WHERE tylko wstawiamy datę z poziomu skryptu

Dlaczego nie mam korzystac z wbudowanych funkcji MySql?

@ylk: O to to. Dziekuje smile.gif.
wookieb
Cytat(grasnal @ 11.04.2011, 08:44:03 ) *
Tak krawiec kraje jak materii staje. Nie mam wplywu na typ pola, generuje raport z tego co jest.

No to jeżeli masz sporo tych danych to zarąbiesz siebie i maszynę.

Cytat
Dlaczego nie mam korzystac z wbudowanych funkcji MySql?

Bo baza nigdy nie skorzysta wtedy z indeksu używającego tego pola.
Datetime w zupełności załatwia sprawę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.