Skip to main content

SQL Server- CHAR,VARCHAR, NVARCHAR

SQL Server String Data Types

CHAR

CHAR is a fixed data type. So when a column is declared as CHAR, irrespective of  the actual characters stored in that variable/column, it will use all the declared space.











In the above example you can see that even though the actual length of the variable is 6, It occupies 30 bytes of space.This is because when the variable @name is declared as CHAR(30), 30 bytes of space got reserved for the variable. 

Also, you can observe that CHAR type column uses 1 byte of space to store each character.

Summary:
1. It is a fixed data type
2. Occupies 1 byte of space for each character
3. It is used to store non-unicode character.

VARCHAR

VARCHAR is a variable length data type. So when a variable or column is declared as VARCHAR, irrespective of declared space, it will use only space require to store all characters.












In the above example you can see that even though the declared size is 30, It occupied 6 bytes of space which is the actual length of stored string.

Also, you can observe that VARCHAR type column uses 1 byte of space to store each character

Summary:
1. It is a variable length data type
2. Occupies 1 byte of space for each character


3. It is used to store non-Unicode character.

NVARCHAR

 Like VARCHAR it  is also a variable length data type. But it uses 2 bytes of memory to store each character











In the above example you can see that even though the declared size is 30, It occupied 12 bytes of space which is double the actual length of stored string.

Summary:
1. It is a variable length data type
2. Occupies 2 byte of space for each character
3. It is used to store Unicode character.



Comments

Popular posts from this blog

Interview Questions and Answers on SQL Server View

    W hat is a View?        Views are virtual tables that hold data from one or more tables. It is a query stored in the database as object. A view does not contain any data itself, it is a set of queries that are applied to one or more tables that are stored within the database as an object   What is the use of view? It allows you to reuse code without  having to write the same complex SQL code over and over. Views are used for security purposes in databases. Views restrict the user from viewing certain columns and rows. In other words, using a view we can apply the restriction on accessing specific rows and columns for a specific user  Can we use ORDER BY clause inside a view?   The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP or FOR XML is specified. Can we update a view?       If the view contains joins between mult...

SQL Server difference between DELETE, TRUNCATE, DROP

DELETE DELETE removes some specific rows (with WHERE clause) or all rows (without WHERE clause) The operation can be rolled back.    DELETE is a DML command. This operation cause all DELETE triggers on table to fire. Conditions like WHERE clause can be used. Note: when we issue a DELETE command then all data get copied into ROLLBACK Tablespace first. Then delete operation get performed. That is why when you type ROLLBACK after deleting table, you can get back the data (The system get it for you from the Rollback Tablespace) TRUNCATE TRUNCATE removes all rows from a table. The operation cannot be rolled back. TRUNCATE is a DDL command. No triggers will be fired. Conditions like WHERE clause cannot be used with it. TRUNCATE is faster than DELETE. Note: when you issue a TRUNCATE command, it removes data directly without copying it into the Rollback Tablespace. So it is faster than DELETE. Also because of the same reason the data dele...