SQL, Store currency values as Money, Float, or Int?

Posted on 2008-11-08
Last Modified: 2012-05-05
I'm writing a program for processing stocks (doesn't everyone at some point or another?).

These are U.S. stocks, priced in dollars and cents, with penny stocks sometimes priced to a tenth of a cent.

These values could be typed as money, float, or int (multiply by 1000 before storing).  

Are there performance advantages to storing as scaled integers?  Are there disadvantages?  I'm using SQL Server Express 2005.

I'd like some advice.

Thank you.
Question by:josgood
    LVL 17

    Expert Comment

    I have worked with many such scenarios, had to integrate system which all used a differnt format, and had to output data in all of these formats. What I have learned through all of this is that personal preference is the correct answer. As I like to see the values in the database in true form I would choose currency.
    LVL 17

    Accepted Solution

    LVL 13

    Author Comment

    I'm all for personal preference! :)

    I'd expect money and float to require more processing than a scaled integer.

    Am I wrong?
    LVL 13

    Author Closing Comment

    Thank you.  That URL gives me exactly the data I need to make a decision.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Find Ransomware Secrets With All-Source Analysis

    Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

    Introduced in Microsoft SQL Server 2005, the Copy Database Wizard ( is useful in copying databases and associated objects between SQL instances; therefore, it is a good migration and upgrade tool…
    Introduction In my previous article ( I showed you how the XML Source component can be used to load XML files into a SQL Server database, us…
    Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
    Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

    737 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    17 Experts available now in Live!

    Get 1:1 Help Now