Which Three Statements Are True About Oracle Built-in Data Types?
Short answer
ADE CHAR defaults to length 1 when omitted, a CHAR column does not require an explicit length, and BLOB stores unstructured binary data in the database.
Question
Key Takeaways
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.
Common mistake: 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.
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
https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Data-Types.html
This link opens the official vendor documentation in a new tab.
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?
Does CHAR default to 1 byte or 1 character?
Discussion 6 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 6
-
tom100men 👍 3DEF for me, CHAR default is 1 byte, we can use: CREATE TABLE tmp (col CHAR);
-
ogi33 👍 1If you do not specify a qualifier, the value of the NLS_LENGTH_SEMANTICS parameter of the session creating the column defines the length semantics, unless the table belongs to the schema SYS, in which case the default semantics is BYTE.
-
65e59ac 👍 1Yes, you can create a table in ORACLE without specifying the length in CHAR column. D is right.
-
a947739 👍 1you can't create a table in ORACLE without specifying the length in CHAR column
-
bca123 👍 1But based on the scheme ans, id D is correct , then A should be correct!
Show 1 more comment
-
billysunday1 👍 2Answer is A,E,F
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.