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 |
What is a natural join?
I Defined SP1, Sp2 (sp=StoreProcedures)In Package Specification but I Implemented Sp1, sp2, sp3, sp4, sp5 then What type of Error You will find????
How can check sql version from command line?
what is sql.
how many groups of data types? : Sql dba
What company owns postgresql?
What can I use instead of union in sql?
What is where clause in sql?
How do I trace sql profiler?
What are the events on which a database trigger can be based?
What is the use of non clustered index?
What is the syntax and use of the coalesce function?