12 Mar 2010

update lub insert bazy mysql w perlu

Jeśli w perlu za pomocą use DBD::ODBC; robimy update rekordu czy insert z polskimi znakami powiedzmy „ł” do bazy dodaje się zamiast litery „ł” znak „?”.
Problem można ten obejść za pomocą sprytnego polecenia mysql „_latin2” które wstawiamy przed wstawianym stringiem.
Przykład poniżej:

UPDATE klient SET branza = _latin2'Gumowe artykuły|33241|2399' WHERE idrek = 177221312
12 Mar 2010

Zapytanie do bazy z wykorzystaniem funkcji NOW()

SELECT * FROM TABLE WHERE t_add_date < NOW()-'5 MONTH'::INTERVAL
SELECT * FROM TABLE WHERE t_add_date < NOW()+'5 MONTH'::INTERVAL
SELECT * FROM TABLE WHERE t_add_date < NOW()-'1 DAY'::INTERVAL
SELECT * FROM TABLE WHERE t_add_date < NOW()-'2 DAYS'::INTERVAL
SELECT * FROM TABLE WHERE t_add_date < NOW()-'1 DAY'::INTERVAL
SELECT * FROM TABLE WHERE t_add_date < NOW()-'5 MINUTES'::INTERVAL
SELECT * FROM TABLE WHERE t_add_date < NOW()-'3 HOURS'::INTERVAL