# SQL Data Types

**SQL Data Types**: In this tutorial, we are going to learn about the various data types with its syntaxes and examples in SQL (Structured Query Language).

Submitted by Abhishek Goel, on March 22, 2020

## SQL | Data Types

Just like other programming languages, facilities of defining data of various types are available in **SQL** also. **SQL** supports the following data types for the specification of various data-items or fields of a relation/table. In SQL, each column of the table is assigned a datatype which conveys the kind of value that will be stored in the column.

### Types of SQL Data Types

**Numeric data type**:

It includes datatypes like int, tinyint, bigint, float, real, etc.**Date and Time data type**:

It includes datatypes like Date, Time, Datetime, etc.**Character and String datatype**:

It includes data types like char, varchar, text, etc.**Unicode character/string datatypes**:

It includes datatypes like nchar, nvarchar, ntext, etc.**Binary datatype**:

It includes datatypes like binary, varbinary, etc.**Miscellaneous datatype**:

It includes datatypes like clob, blob, xml, cursor, table, etc.

Many data types are discussed below...

### Integer(Numeric)

It stores/represents positive whole number up to 11 digits and negative whole numbers upto 10 digits. The range of integers is from **-2,147,483,648 to 2,147,483,647.**

**Syntax:**

<INTEGER or integer>

### SMALLINT

It is a 16-bit signed integer value that stores whole numbers in the range from **-32768 to 32767**. Its width is up to 5 digits.

**Syntax:**

<SMALLINT>

### NUMERIC

Numbers are stored in the given format, where * x* is the total number of digits and y is the number of places to the right of the decimal point.

*must include an extra place for the decimal point.*

**x****Syntax:**

<NUMERIC(x,y)>

**Example:**

Numeric(8,2)

In the given example, numeric datatype stores a number that has 5 places before the decimal and 2 digits after the decimal and 1 digit place for the decimal point. Numeric holds up to 20 significant digits. A negative number holds one place for the sign, i.e.,(**-**)

### DECIMAL

Numbers are stored in the **DECIMAL** format, where x is the size,i.e., the total number of digits and y is precision, i.e., the number of places to the right of the decimal point.

**Syntax:**

<DECIMAL(x,y) or DECIMAL(size,precision)>

**Example:**

Decimal(8,2)

In the above example, decimal datatype stores a number that has 5 digits before the decimal and 2 digits after the decimal and 1 digit place for the decimal. Decimal holds up to 19 significant digits. A negative number uses one place for its sign(-).

### CHARACTER(fixed length)

This data type stores '* x*' number of characters in the string. A maximum of 254 characters can be stored in a string.

*or size is the number of characters to store which is of fixed length, to the number of characters specified. If you store strings that are not as long as the '*

**x***' or '*

**size***' parameter value, the remaining spaces are left unused.*

**x****Syntax:**

<CHAR(x) or CHAR(size)>

**Example:**

if you specify **CHAR (10)**, strings such as **"ram"** and **"technology"** are each stored as 10 characters. However, a student * admission_no* is 6 digits long in a school, so

**CHAR(6)**would be appropriate to store the

*of all the students. This data type is suitable where the number of characters to store is fixed. The values for*

**admission_no****CHAR**data type have to be enclosed in single or double quotation marks.

### CHARACTER (variable length)

This data type is used to store variable-length alphanumeric data.

**Syntax:**

<VARCHAR(x) or VARCHAR2(x)>

**Example:**

The address of a student can be declared as **VARCHAR (25)** to store the address up to 25 characters long. The advantage of using this data type is that **VARCHAR** will not leave unused spaces. It releases the unused memory spaces.

### DATE

This data type is used to store a date in '**yyyy/mm/dd**' format. It stores a year, month and date values. **DATE** values can be compared with each other only. The date decimal point values to be entered are to be enclosed in **{ }** or with **single quotation marks**.

**Syntax:**

<DATE>

### TIME

This data type is used to store time in** hh:mm:ss **format. It stores hour, minute, and second values.

**Syntax:**

<TIME>

**For Example**, a time of day can be taken as 12:30:45 p.m. where 12 means hours, 30 means minutes and 45 means seconds.

### BOOLEAN (logical)

This data type is used for storing logical values, either * true* or

*. In both upper and lower case,*

**false****T**or

**Y**stands for logical

*and*

**true****F**or

**N**stands for logical

*. The fields with Boolean (logical) datatype can be compared only to other logical columns or constants.*

**false****Syntax:**

<BOOLEAN>

### BLOB/RAW/LONG RAW

This data type can store data up to a maximum length of **65535 characters**. **BLOBs** are "**Binary Large Objects**" and are used to store large amounts of data, such as images, animations, clips or other types of files.

**Syntax:**

<BLOB or RAW or LONG RAW>

**For Example, **image raw(2000);

### MEMO/LONG

This datatype allows storing characters or remarks upto 2 GB per second.

**Syntax:**

<MEMO or LONG>

TOP Interview Coding Problems/Challenges

- Run-length encoding (find/print frequency of letters in a string)
- Sort an array of 0's, 1's and 2's in linear time complexity
- Checking Anagrams (check whether two string is anagrams or not)
- Relative sorting algorithm
- Finding subarray with given sum
- Find the level in a binary tree with given sum K
- Check whether a Binary Tree is BST (Binary Search Tree) or not
- 1[0]1 Pattern Count
- Capitalize first and last letter of each word in a line
- Print vertical sum of a binary tree
- Print Boundary Sum of a Binary Tree
- Reverse a single linked list
- Greedy Strategy to solve major algorithm problems
- Job sequencing problem
- Root to leaf Path Sum
- Exit Point in a Matrix
- Find length of loop in a linked list
- Toppers of Class
- Print All Nodes that don't have Sibling
- Transform to Sum Tree
- Shortest Source to Destination Path

Comments and Discussions

**Ad:**
Are you a blogger? Join our Blogging forum.