Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Typ danych - DECIMAL
Forum PHP.pl > Forum > Bazy danych > MySQL
martela
Witam ponownie, mam kolejny problem, dla niektórych być może banalny dla mnie jednak nie, bo trochę z tym siedzę.
Wygląda to tak, zastosowałem typ danych DECIMAL(6,2) oraz (5,2) (dla kolumn:pensja, stawka_tyg, stawka_dzienna) i po wpisaniu danych w tych kolumnach na końcu wstawiłem przecinek, lecz liczba zamiast wyglądać: 2523,45 wyglądała tak: 9999,99 tak samo jak wstawię kropkę. Zna ktoś rozwiązanie dla tego problemu ? Jestem nowy w tej grze więc proszę o wyrozumiałość.

kod:
Kod
CREATE TABLE wynagrodzenie(
    pensja decimal( 6, 2 ),
    stawka_tyg decimal( 5, 2 ),
    stawka_dzienna decimal( 5, 2 )
);
INSERT INTO wynagrodzenie (pensja, stawka_tyg, stawka_dzienna) VALUES
('205689.' , '51422.' , '10284.');

INSERT INTO wynagrodzenie (pensja, stawka_tyg, stawka_dzienna) VALUES
('164322.' , '61080.' , '12016.');

INSERT INTO wynagrodzenie (pensja, stawka_tyg, stawka_dzienna) VALUES
('360000.' , '90000.' , '16000.');

INSERT INTO wynagrodzenie (pensja, stawka_tyg, stawka_dzienna) VALUES
('572412.' , '93103.' , '14620.');

INSERT INTO wynagrodzenie (pensja, stawka_tyg, stawka_dzienna) VALUES
('185456.' , '561364.' , '10572.');

INSERT INTO wynagrodzenie (Pensja, stawka_tyg, stawka_dzienna) VALUES
('290924.' , '57731.' , '16546.');

INSERT INTO wynagrodzenie (pensja, stawka_tyg, stawka_dzienna) VALUES
('424556.' , '80802.' , '20227.');

INSERT INTO wynagrodzenie (pensja, stawka_tyg, stawka_dzienna) VALUES
('436667.' , '99166.' , '21833.');

INSERT INTO wynagrodzenie (pensja, stawka_tyg, stawka_dzienna) VALUES
('235432.' , '58858.' , '11771.');

INSERT INTO wynagrodzenie (pensja, stawka_tyg, stawka_dzienna) VALUES
('234598.' , '58649.' , '11729.');
Crozin
Jeżeli typ to DECIMAL(5, 2) to maksymalną wartością jaką może on pomieścić jest 999,99, nie 99999,99.
martela
No tak ale dla DECIMAL (5,2) wyskakuje 999,99 a dla DECIMAL (6,2) wyskakuje 9999,99, co zrobić aby wyskakiwała liczba w nawiasie ?
nospor
Cytat
lecz liczba zamiast wyglądać: 2523,45 wyglądała tak: 9999,99
yyy...eeee... mowisz ze wstawiasz 2523,45 a ja jak wol w twoim kodzie widze ze wstawiasz liczby typu:
234598.
Naprawde nie odrozniasz jednej od drugiej??

Na dodatek liczba to liczba a nie tekst - nie bierze sie tego w apostrofy.
martela
No bo takie wstawiam w kodzie, a po wykonaniu powinna wyglądać tak 2523,45 a nie tak 9999,99 dobrze pisze ?
nospor
Nie, zle piszesz....

2523,45
252345.
Zrozum - to są dwie rozne liczby. PIerwsza jest prawidlowa, druga jest poza zakresem stad masz 9999.99. Tu naprawde nie ma zadnej filozofii :/
martela
Czyli co, to ma wyglądać tak:
Kod
INSERT INTO wynagrodzenie ( pensja , stawka_tyg , stawka_dzienna  ) VALUES
(2354,32 , 588,58 , 117,71);
?

bo nie kminie. ;o
nospor
zamien przecinek na kropke
martela
Dziękuje bardzo za pomoc, tabela zrobiona. smile.gif
Crozin
Od kiedy to przecinek robi za separator dziesiętny w SQL-u?
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.