Jest sobie baza danych MySQL i takie zapytanie:
select nr, data, termin_plat,
(wartosc_brutto - zaplacono) as do_zaplaty,
(CASE WHEN (datediff("2011-11-08", termin_plat))>0 THEN (wartosc_brutto - zaplacono) ELSE null END) as wymagane,
(CASE WHEN (datediff("2011-11-08", termin_plat))<=0 THEN (wartosc_brutto - zaplacono) ELSE null END) as niewymagane
from faktura
Kolumny "wartosc_brutto" i "zaplacono" są typu decimal(10,2) i na raporcie wydruku czy też w gridzie (programuję w Delphi) wartości tych pól (a nawet wyniki operacji na nich, jak powyżej wynik "do_zaplaty") wyświetlają się z przecinkiem i są wyjustowane do prawej strony. Niestety gdy wykonam na tych kolumnach operację CASE, to nie wiedzieć czemu wartość zmienia się jakby na stringa: wyjustowane jest do lewej, a zamiast przecinka pojawia się kropka. O ile justowanie to żaden problem potem w gridzie, czy w raporcie, o tyle ta kropka jest nie do zaakceptowania. Wygląda to tak:
Ma ktoś jakiś pomysł jak sobie z tym poradzić na poziomie zapytania SQL-owego? Jest tam jakaś funkcja w stylu asfloat, czy coś?