Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> uzycie like na polu typu timestamp
misty
post
Post #1





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

Ostrzeżenie: (0%)
-----


hej, chce moc wyciagac z bazy dane wg daty. moge miec na wejsciu date z czasem, tj np '2010-08-31 10:00:02' lub tylko date, tj '2010-08-31'. pomyslalam ze moze wykorzystam do tego 'like'.
jednak jak probuje polaczyc 'like' z polem typu timestamp to nie wychodzi. Pisze takie polecenie:

  1. SELECT id FROM test WHERE date_start LIKE '2010-08-31%'
i otrzymuje komunikat:
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts

nie bardzo to rozumiem. czy ja moge zatem do timestamp uzyc 'like' tak jak chcialam? a moze macie jakis inny pomysl na moj problem?

pozdrawiam,
misty
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Wystarczy użyć funkcji DATE_FORMAT ponieważ zamienia ona datę (również w formacie TIMESTAMP) na łańcuch znaków, który jak najbardziej można porównywać za pomocą LIKE. Odpowiednie zapytanie:
  1. SELECT id FROM test WHERE DATE_FORMAT(call_end, '%Y-%m-%d %H:%i:%s') LIKE '2010-08-31%'


EDIT:
W sumie o tym samym pisał phpion, tylko użył funkcji CAST.

Ten post edytował mortus 31.08.2010, 12:17:08
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 01:45