Bird
Raised Fist0
MySQLquery~10 mins

Decimal and floating-point types in MySQL - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a column with a decimal type that stores numbers with 5 digits total and 2 digits after the decimal point.

MySQL
CREATE TABLE prices (amount DECIMAL([1]));
Drag options to blanks, or click blank then click option'
A5,2
B10,5
C3,1
D8,3
Attempts:
3 left
💡 Hint
Common Mistakes
Using only one number inside DECIMAL() instead of two.
Confusing the order of precision and scale.
2fill in blank
medium

Complete the code to create a floating-point column that stores approximate values.

MySQL
CREATE TABLE measurements (value [1]);
Drag options to blanks, or click blank then click option'
AFLOAT
BDECIMAL(10,4)
CINT
DCHAR(10)
Attempts:
3 left
💡 Hint
Common Mistakes
Using DECIMAL when FLOAT is required for approximate values.
Using CHAR for numeric data.
3fill in blank
hard

Fix the error in the column definition to correctly store a decimal number with 7 digits total and 3 digits after the decimal point.

MySQL
CREATE TABLE sales (total DECIMAL([1]));
Drag options to blanks, or click blank then click option'
A3,7
B7,3
C5,2
D10,3
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping precision and scale values.
Using invalid precision and scale combinations.
4fill in blank
hard

Fill both blanks to create a table with a FLOAT column and a DECIMAL column with 6 digits total and 2 digits after the decimal point.

MySQL
CREATE TABLE data (approximate [1], exact DECIMAL([2]));
Drag options to blanks, or click blank then click option'
AFLOAT
BDECIMAL(6,2)
C6,2
DDOUBLE
Attempts:
3 left
💡 Hint
Common Mistakes
Using DOUBLE instead of FLOAT for approximate values here.
Not specifying precision and scale correctly for DECIMAL.
5fill in blank
hard

Fill all three blanks to define a table with columns: price as DECIMAL(8,3), discount as FLOAT, and quantity as DECIMAL(5,0).

MySQL
CREATE TABLE inventory (price DECIMAL([1]), discount [2], quantity DECIMAL([3]));
Drag options to blanks, or click blank then click option'
A8,3
BFLOAT
C5,0
DDOUBLE
Attempts:
3 left
💡 Hint
Common Mistakes
Using DOUBLE instead of FLOAT for discount.
Not specifying scale as 0 for quantity.

Practice

(1/5)
1. Which MySQL data type should you use to store exact monetary values without rounding errors?
easy
A. VARCHAR
B. FLOAT
C. DECIMAL
D. DOUBLE

Solution

  1. Step 1: Understand the purpose of DECIMAL

    DECIMAL stores exact decimal numbers with fixed digits, ideal for money.
  2. Step 2: Compare with FLOAT and DOUBLE

    FLOAT and DOUBLE store approximate values, which can cause rounding errors.
  3. Final Answer:

    DECIMAL -> Option C
  4. Quick Check:

    Exact decimal storage = DECIMAL [OK]
Hint: Use DECIMAL for exact money values, not FLOAT or DOUBLE [OK]
Common Mistakes:
  • Choosing FLOAT or DOUBLE for money causing rounding errors
  • Using VARCHAR which stores text, not numbers
2. Which of the following is the correct syntax to define a DECIMAL column with 8 digits total and 2 digits after the decimal point in MySQL?
easy
A. DECIMAL(8,2)
B. DECIMAL(2,8)
C. DECIMAL(10,2)
D. DECIMAL(8)

Solution

  1. Step 1: Recall DECIMAL syntax

    DECIMAL(M,D) means M total digits, D digits after decimal point.
  2. Step 2: Match given digits

    We want 8 total digits and 2 after decimal, so DECIMAL(8,2) is correct.
  3. Final Answer:

    DECIMAL(8,2) -> Option A
  4. Quick Check:

    DECIMAL(total, decimals) = DECIMAL(8,2) [OK]
Hint: DECIMAL(M,D): M=total digits, D=digits after decimal [OK]
Common Mistakes:
  • Swapping M and D values
  • Using DECIMAL(8) which lacks decimal precision
3. Given the table prices with a column cost FLOAT(7,2), what will be the result of inserting 12345.6789 and then selecting cost?
medium
A. 12345.679
B. 12345.68
C. 12345.67
D. 12345.000

Solution

  1. Step 1: Understand FLOAT(7,2) meaning

    FLOAT(7,2) means 7 digits total, 2 after decimal, but FLOAT is approximate.
  2. Step 2: Insert and round value

    12345.6789 rounds to 12345.68 when stored with 2 decimals.
  3. Final Answer:

    12345.68 -> Option B
  4. Quick Check:

    FLOAT rounds to 2 decimals = 12345.68 [OK]
Hint: FLOAT rounds approximate values to specified decimals [OK]
Common Mistakes:
  • Expecting exact storage like DECIMAL
  • Ignoring rounding behavior of FLOAT
4. You defined a column as FLOAT(5,2) but notice values like 1234.567 are stored as 1234.56. What is the likely cause and how to fix it?
medium
A. MySQL truncates decimals by default; enable rounding mode
B. FLOAT(5,2) syntax is invalid; use FLOAT without parameters
C. The value exceeds FLOAT range; use DOUBLE instead
D. FLOAT stores approximate values; use DECIMAL(7,3) for exact decimals

Solution

  1. Step 1: Recognize FLOAT behavior

    FLOAT stores approximate values and rounds to specified decimals, causing truncation.
  2. Step 2: Choose correct type for exact decimals

    DECIMAL stores exact decimals and preserves precision, so use DECIMAL(7,3).
  3. Final Answer:

    FLOAT stores approximate values; use DECIMAL(7,3) for exact decimals -> Option D
  4. Quick Check:

    Approximate FLOAT -> switch to DECIMAL for precision [OK]
Hint: Use DECIMAL for exact decimals, FLOAT is approximate [OK]
Common Mistakes:
  • Thinking FLOAT(5,2) is invalid syntax
  • Assuming DOUBLE fixes decimal truncation
  • Expecting MySQL to round automatically without changing type
5. You need to store scientific measurements with very large or very small values and some decimal precision. Which MySQL data type is best and why?
hard
A. FLOAT or DOUBLE, because they store approximate floating-point numbers with wide range
B. DECIMAL, because it stores exact fixed-point numbers
C. VARCHAR, to store numbers as text for precision
D. INT, because it stores whole numbers efficiently

Solution

  1. Step 1: Understand scientific measurement needs

    Scientific data often requires wide range and floating precision, not exact fixed decimals.
  2. Step 2: Choose FLOAT or DOUBLE for wide range

    FLOAT and DOUBLE support very large/small values with approximate precision, ideal for science.
  3. Final Answer:

    FLOAT or DOUBLE, because they store approximate floating-point numbers with wide range -> Option A
  4. Quick Check:

    Wide range + approximate decimals = FLOAT/DOUBLE [OK]
Hint: Use FLOAT/DOUBLE for scientific data, DECIMAL for money [OK]
Common Mistakes:
  • Choosing DECIMAL which limits range
  • Using VARCHAR which wastes space and loses numeric features
  • Using INT which cannot store decimals
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard