Which Three Statements Are True About Oracle Built-in Data Types?
Which three statements are true about built-in data types? (Choose three.)
Community Insight
It tests whether you know that CHAR defaults to length 1 when omitted, and that VARCHAR2 requires an explicit length, while BLOB stores unstructured binary data.
This Oracle 1Z0-071 question tests knowledge of built-in data types, specifically CHAR, VARCHAR2, and BLOB behavior. The correct statements are A, D, and E, covering CHAR default length, optional length specification, and BLOB storage.
Many candidates incorrectly believe CHAR requires a length or that its default is always one byte, leading them to exclude A or D; others wrongly think VARCHAR2 length is optional.
Community Discussion (6 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
- A is correct: Oracle's CHAR data type defaults to a length of 1 when no size is specified. Although the default unit (BYTE or CHAR) depends on NLS_LENGTH_SEMANTICS, the length value is 1, making the statement true in the context of the exam.
- D is correct: You can create a table with a CHAR column without specifying the length, e.g.,
CREATE TABLE tmp (col CHAR);. This is a valid Oracle DDL statement. - E is correct: BLOB (Binary Large Object) is designed to store unstructured binary data within the database, such as images or multimedia.
- Together, A, D, and E are the three true statements among the given options.
Why the Other Options Are Wrong
- B is false: VARCHAR2 columns are variable-length and do not blank-pad values; blank-padding is a behavior of CHAR, not VARCHAR2. The condition "only in the data stored is non-numeric..." is nonsensical.
- C is false: A VARCHAR2 column definition requires an explicit length specification. For example,
VARCHAR2without a size throws ORA-00906: missing left parenthesis. So C is incorrect. - The suggested answer "AE" is incomplete; it omits D, which is also a true statement, and the question asks for three.
Community Comment Notes
- As tom100men noted, "CHAR default is 1 byte, we can use: CREATE TABLE tmp (col CHAR);" and voted for D, E, F (though F is absent here).
- bca123 argued that if D is correct then A should also be correct, highlighting the logical connection between omitting length and having a default.
- 65e59ac confirmed, "Yes, you can create a table in ORACLE without specifying the length in CHAR column. D is right."
- a947739 disagreed by stating you cannot, but Oracle documentation supports D.
- ogi33 pointed out that NLS_LENGTH_SEMANTICS defines the length semantics, which explains why A's "always one character" can be debated.
Official Reference
Exam Strategy
For data type questions, memorize the defaults: CHAR defaults to 1 when size is omitted, VARCHAR2 requires a size, and BLOB/CLOB are for large objects. Watch for absolute words like "always" which often indicate a false statement.
Frequently Asked Questions
Why is option C incorrect for a VARCHAR2 column?
VARCHAR2 requires an explicit length in SQL; omitting it raises ORA-00906. Unlike CHAR, there is no default length for VARCHAR2.
Does CHAR default to 1 byte or 1 character?
The default length is 1, but the unit depends on NLS_LENGTH_SEMANTICS (BYTE by default, or CHAR if set). So it is not always one character.