Re: How many pre-decimal positions/integer digits has a DECimal (5,3) defined field ?
From: Tibor Karaszi <tibor_please.no.email_karaszi_at_hotmail.nomail.com>
Date: Sat, 9 Oct 2004 10:07:10 +0200
Message-ID: <#OLa3bdrEHA.3416_at_TK2MSFTNGP15.phx.gbl>
Date: Sat, 9 Oct 2004 10:07:10 +0200
Message-ID: <#OLa3bdrEHA.3416_at_TK2MSFTNGP15.phx.gbl>
> Each RDBMS is exactly the same, only different. The 'only different'
> is very subtle but significant enough that a generic application can
> not swap out the back end without experienceing some negative impact -
> frequently in scalability.
This is why I prefer NUMERIC instead of DECIMAL.
Per ANSI SQL, for DECIMAL, the RDBMS is allowed you to give you a higher precision than you asked for. NUMERIC is required to give you the precision you ask for.
In SQL Server, they are the same (they both gives you exactly what you ask for). But by using NUMERIC, I would have a consistent behavior across products (assuming the other product adheres to the ANSI SQL standard).
-- Tibor Karaszi, SQL Server MVP http://www.karaszi.com/sqlserver/default.asp http://www.solidqualitylearning.com/ "Hans" <forbrich_at_gmail.com> wrote in message news:bd0e88c6.0410080807.63728ec8_at_posting.google.com...Received on Sat Oct 09 2004 - 10:07:10 CEST
> peterb_at_gmx.net (Peter Blatt) wrote in message news:<ck4ale$n5t$00$1@news.t-online.com>...
>> Does 5 represent the total numer of digits (including the fractional portion) or only the number
>> of places
>> BEFORE the decimal point? Moreover does the number include the decimal point?
>>
>> Are there differences between the databases servers ?
>>
>> Peter
>
>
> In Oracle, you would normally use the 'NUMBER(5,3)' declaration
> instead of 'DECIMAL(5,3)'. It results in 5 digits being stored, with
> the decimal place implied at position 3 - resulting in 6 'printer'
> positions.
>
> In Oracle, you can also specify 'NUMBER(5,-3)' which stores 5 digits
> and puts the decimal 3 'zeros' after the last digit, giving you a
> column or variable that displays 'thousands'.
>
> Finally, in Oracle, the traditional internal representation of a
> number is BCD - Binary Coded Decimal - with 2 digits per byte, up to
> 38 digits. Other variations, including IEEE Foating Point numerics
> are possible as well.
>
> If you need more details for the Oracle side, go to
> http://docs.oracle.com for all online documentation, and look for the
> SQL Reference Manual for the version(s) of interest. Excrutiating
> detail is available in Chapter 1 under Datatypes.
>
> Each RDBMS is exactly the same, only different. The 'only different'
> is very subtle but significant enough that a generic application can
> not swap out the back end without experienceing some negative impact -
> frequently in scalability.
>
> HTH
> /Hans
>
> BTW: comp.databases.oracle is a dead newsgroup, carried by only a few
> ISPs. The question only needs to go to comp.database.oracle.misc (one
> of the comp.databases.oracle.* heirarchy) as described in the Charter
> available at http://orafaq.com