2009-11-04 12 views

Odpowiedz

10

Wypróbuj

select CAST(round(100.5555, 2) AS DECIMAL(8,2)) 
+0

Co jeśli nie znam długości 8, jedyne co wiem to to, że potrzebuję 2 cyfr kropki arterii? – Alex

+1

@astander: Dostałem to, 8 jest maksymalne, więc mogę po prostu umieścić dowolną dużą liczbę. Dzięki! – Alex

+0

Nie można podać kolumny wewnątrz funkcji DECIMAL (8, xxx) –

1

Deklaracja @d dziesiętna (8,2) może pomóc.

4

Można by ponownie rzucić go jako oryginalnego typu danych, na przykład

SELECT CAST(ROUND(100.5555, 2) AS FLOAT) 

Jednak brzmi to jak logika wyświetlania i dlatego podejrzewam, że lepiej zrobić to w swoim interfejsie niż w DB.

+0

nie działa na MySQL –

+0

Potrzebowałem tej wersji, ponieważ moje zapytanie określało ROUND na podstawie jednostek SI i było zmieniane wiersz po wierszu, jak @NicolasThery stwierdził - nie możesz przekazać kolumny do funkcji DECIMAL, ale możesz przejść do ROUND-a. – Morvael

Powiązane problemy