mam selecta ktory zwraca mi liczbe z dokladnoscia do 8 miejsc po przecinku,
a ja potrzebuje uciac ja do 2 miejsc po przecinku (zaokranglam do 2 miejsc
po przecinku poleceniem round) ale jak w T-SQL uciac do 2 miejsc ?
pzdrv
mzuber
Użyj STR
Pozdro
--
Borafu
<CODE>
CREATE FUNCTION dbo.ROUND2(@VALUE typ_dex_numericM, @PRECISION typ_dex_int)
-- dgrabowski 17-03-2009
-- Funkcja zaokrągla wartość do MAX 4 miejsc po przecinku (parametr
@PRECISION), zgodnie z wytycznymi fiskalnymi
RETURNS typ_dex_numericM
AS
BEGIN
set @VALUE = coalesce(@VALUE, 0);
set @PRECISION = coalesce(@PRECISION, 2);
if @PRECISION < 0 and @PRECISION > 4
set @PRECISION = 2;
if @VALUE < 0
set @VALUE = round(((@VALUE - (5.0000 / (POWER(10, @PRECISION + 1))))
* POWER(10, @PRECISION)), 0, 1) * (1.0000 / POWER(10, @PRECISION))
else
set @VALUE = round(((@VALUE + (5.0000 / (POWER(10, @PRECISION + 1))))
* POWER(10, @PRECISION)), 0, 1) * (1.0000 / POWER(10, @PRECISION))
return @VALUE;
END
</CODE>
typ_dex_numericM jest zadeklarowany jako (możesz zmienić jak CI się podoba):
CREATE TYPE [dbo].[typ_dex_numericM]
FROM decimal(19, 4) NULL
GO
Używa się tego tak:
select dbo.ROUND2(1235.5646548979, 2)
--
wloochacz
Funkcja Round() ma 3 (słownie: TRZY) parametry :)
Select Round(1.247, 2, 1)
1.24
--
KN
A ten wynik to co to ma byc? W Polsce jesteśmy a nie w US. Chyba ze ja
czegos nie wiem...
pozdrawiam,
Przemek O.
--
SoftSYSTEM
www.soft-system.pl
wynik jest w typie numerycznym
to w czym to wyświetlasz wynik obczai że to liczba i da odpowiedni znak
no chyba że przekonwertujesz do tekstu :)
--
Przemek
Nie chodzi mi o znak :) ale o wynik tego 'zaokrąglenia'...
Choc przeoczylem trzecia wartosc w Round, czyli p..a a nie round tylko
trunc :)
CONVERT(decimal(10,3),Round(SUM(liczba),3))
round - zaokraglam do 3 miejsc
convert-decimal - ucinam puste zera na koncu (ew. na poczatku)
pozdrawiam
mzuber
Użytkownik "mzuberek" <mzub...@gazeta.pl> napisał w wiadomości
news:gq7eem$bq$1...@inews.gazeta.pl...
> __________ Informacja programu ESET Smart Security, wersja bazy sygnatur
> wirusów 3832 (20090206) __________
>
> Wiadomosc zostala sprawdzona przez program ESET Smart Security.
>
> http://www.eset.pl lub http://www.eset.com
>
>