Difficulty: Easy
Correct Answer: Invalid (Oracle has no Currency or Money data type; use NUMBER with formats)
Explanation:
Introduction / Context:
Oracle supports numeric storage via the versatile NUMBER type. Monetary values are commonly stored as NUMBER with appropriate scale and formatting at the presentation layer. This question addresses a common misconception that there is a special Currency or Money data type in Oracle.
Given Data / Assumptions:
Concept / Approach:
Store currency amounts in NUMBER(p,s) (for example, NUMBER(19,4)) to allow needed precision. Present the value with a currency symbol using TO_CHAR with a format model (for example, L999G999D99) or in the application layer. There is no built-in MONEY/CURRENCY data type; therefore, the statement that “Money is defined with the Currency data type” is incorrect.
Step-by-Step Solution:
Verification / Alternative check:
Querying USER_TAB_COLUMNS shows NUMBER as the underlying type. Display of currency symbols depends on NLS and format models, not on a special data type.
Why Other Options Are Wrong:
Common Pitfalls:
Using FLOAT/DOUBLE (binary floating) for money; mixing currency symbol in stored values; ignoring rounding rules.
Final Answer:
Invalid (Oracle has no Currency or Money data type; use NUMBER with formats)
Discussion & Comments