What is the difference between CHAR and VARCHAR2? If
VARCHAR2 serves the uses of CHAR why CHAR is still used and
not been discarded yet?
Answers were Sorted based on User's Feedback
Answer / hannan
in char it allocates the memory space as static where as in
varchar2 it allocates the memory space as dynamic
OR
char is a space mapping function where as in varchar2 it is
not mapping the space it occupies the exact size of the
string
Is This Answer Correct ? | 22 Yes | 0 No |
Answer / chandu
Have more diff between char and varchar2
char size only 2000 bytes in sql, default size is 1 byte.
it will occupying the trailing spaces. so much of memory wasted.
varchar2 size 4000 bytes in sql and no default size.
it will not occupying the trailing spaces.
Is This Answer Correct ? | 18 Yes | 0 No |
Answer / madhavi
Hi,
Char is the datatype that occupies complete space declared
whether used or not. ie:- If any field is declared as char
(10) then this field for all records will occupy complete
10 bytes whether the value stored in it is 1 byte or 10
byte.
Whereas Varchar2, as the first 3 characters explains Var-
Variable, will occupy only the bytes for the value entered
in the field.
So ideally it is good practice to declare fields like
emp_flg or any other fields which we are sure will have
fixed length value as Char.
Is This Answer Correct ? | 8 Yes | 0 No |
Technically CHAR has better performance than VARCHAR2.
For CHAR(10) database already knows the length of value in
each record and therefore displays the entire string up till
10 characters. In case of VARCHAR2 the end of string has to
be reached('\0'-NULL) before the database stops displaying
the characters ahead. Each character is compared to NULL
character before it can be determined that end of string has
arrived. Comparing each string character with NULL character
consumes some CPU cycles and hence VARCHAR2 is slower in
performance as compared to CHAR.
Is This Answer Correct ? | 6 Yes | 0 No |
Answer / suriya
Another difference is accessing a variable declared as char
is faster than, accessing a varchar2.
Is This Answer Correct ? | 3 Yes | 0 No |
Answer / pradeep
in char it allocates the memory space as static where as in
varchar2 it allocates the memory space as dynamic.
Another difference is accessing a variable declared as char
is faster than, accessing a varchar2. So CHAR is still used
Is This Answer Correct ? | 3 Yes | 0 No |
Answer / manish ranjan
1. Char is fundamental data type. VARCHAR2 is derived one.
2. Char allocates static memory space while VARCHAR2
allocates dynamic memory.
3. Char is required to maintain compatibility with other
tools (Reporting, DWH, Data related).
4. Char is faster than VARCHAR2 (for large text).
Is This Answer Correct ? | 3 Yes | 0 No |
Answer / masthan
create table test(aa char):=by using char create the table with out spicifing the lengh(by default it will create lenth 1)default size is 1 byte
by using varchar2 with out spicifing the lengh we cont able to create the table.There is no default size
Is This Answer Correct ? | 1 Yes | 0 No |
Answer / laxmi narayana moru
VARCHAR2() IS USED TO STORE ALPHANUMERICAL DATA WHERE AS
CHAR() IS USED TO STORE THE CHARACTERS ONLY AND WHICH IS
FIXED LENGTH DATATYPE ...
CHAR() IS PROVIDING FAST ACCESSING COMPARE WITH THE VARCHAR2
()(50%).
Is This Answer Correct ? | 1 Yes | 4 No |
function can return multiple value?how give give sample coding
2 Answers 3i Infotech, CTS, Excelity Global, UHG,
diff b/w sub query and co-relater query?
What is the reports view in oracle sql developer?
Is a table valued function object?
What is pragma in sql?
Can we perform dml in function?
Is there a pl/sql pragma similar to deterministic, but for the scope of one single sql select?
i don't want the message as 14 rows updated just it should update what it will do
What is procedure explain with program?
What does the sign mean in sql?
What is extent clause in table space?
Explain what is table in a database?