("time" TIMESTAMP, "views" INT, "unique" INT, "returns" INT, PRIMARY KEY("time"))
Chcę z niej wydobyć sformatowaną datę i pogrupować według niej wyniki:
SELECT EXTRACT(YEAR FROM "time") || '.' || EXTRACT(MONTH FROM "time") || '.' || EXTRACT(DAY FROM "time") || ' ' || EXTRACT(HOUR FROM "time") AS "unit", SUM("views") AS "views", SUM("unique") AS "unique", SUM("returns") AS "returns" FROM "tabela" WHERE "time" >= '2007-12-31 20:58:30' GROUP BY "unit" ORDER BY "unit" ASC
Ale dostaję komunikat:
Cytat
Warning: ibase_query() [function.ibase-query]: arithmetic exception, numeric overflow, or string truncation
EXTRACT działa tylko bez konkatenacji dla formatowania jednego typu...
MySQL i PostgreSQL mają wygodne formatowania, a w SQLite można użyć PHP, tylko tutaj problemy ;-).
Jakieś pomysły? :-)
I jeszcze jedna sprawa, czy zna może ktoś metodę obróbki ciągów tekstowych w stylu sqlite_escape_string () i innych?
Baza często zgłasza ten sam błąd co powyżej, a zastępowanie ' za pomocą \' zbytnio nie pomaga. Problemy występują też przy wprowadzaniu danych z polskimi znakami (kodowanie UTF-8) i przy podaniu kodowania UTF8 przy łączeniu z bazą, ale to może być jakiś problem przetwarzania danych z pliku zrzuconego z SQLite (MySQL przyjmuje dane bez problemów, a PostgreSQL w tych samych miejscach informuje o wystąpieniu znaku spoza UTF-8, o ile dobrze zrozumiałem ;-)).
Serwer Firebird 2.0.3.