EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • All Courses
    • All Specializations
  • Blog
  • Enterprise
  • Free Courses
  • All Courses
  • All Specializations
  • Log in
  • Sign Up
Home Data Science Data Science Tutorials SQL Tutorial SQL Server Data Types
 

SQL Server Data Types

Priya Pedamkar
Article byPriya Pedamkar

Updated April 8, 2023

SQL Server Data Types

 

 

Introduction to SQL Server Data Types

Before understanding SQL Server data types we should understand what is Sql server is and why we are going to use sql server. The Word SQL stands for Structured Query Language. As we all know SQL Server is the relational database management system and it is developed by Microsoft. It is mainly used for storing and retrieving the data or we can say maintaining the data. We can do all types of operations to maintain the database. we can say that the SQL server is the database server that helps in implementing the structured query language. In simple words, we can say that data types tell the compiler what type of data is used in the programming.

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

SQL Server Data Types

In SQL Server there are different types of data types.

different types of data types

1. String Data Types

  • CHAR(size): It is having a fixed-length character string with a maximum of 8000 characters.
  • TEXT: Text is a variable width character string with a maximum of 2 GB of text data.
  • NCHAR(size): It is fixed-length Unicode data with a maximum of 4000 characters
  • VARCHAR(size): It is having a maximum of 8000 or more characters and it is a variable width character string
  • NVARCHAR(max): It is having a maximum of 4000 or more characters and it is a variable-width Unicode string.
  • BINARY(size): It has 8000 characters and it is fixed with a binary string
  • VARBINARY(size) or VARBINARY(max): It is a variable-width binary string and with a maximum size of 2GB.

2. Numeric Data Types

  • BIT: Integer that can be 0, 1, or NULL.
  • Int: It allows whole numbers in the range of -2,147,483,648 and 2,147,483,647.
  • Smallint: It allows whole numbers in the range of -32,768 and 32,767.
  • Bigint: It allows whole numbers with a range -9,223,372,036,854,775,808 and 9,223,372,036,854,775,807
  • Tinyint: It allows whole numbers from 0 to 255.
  • Decimal(p,s): Fixed precision and scale numbers. If it is not specifying anything, P defaults to 18 and S defaults to 0.
  • smallmoney: Monetary data from -214,748.3648 to 214,748.3647 
  • float(n): Floating point number, if n not specified it will default to 53.
  • REAL: Floating precision number and it is a lost equal to float.

3. Date and Time Data Types

  • DATE: Date Values range from ‘0001-01-01’ to ‘9999-12-31’.The date will be displayed as ‘YYYY-MM-DD’.
  • TIME: It Stores a time only to an accuracy of 100 nanoseconds. Time values range from ’00:00:00.0000000′ to ’23:59:59.9999999′
  • Datetime: The date values ranges from ‘1753-01-01 00:00:00’ to ‘9999-12-31 23:59:59′ and Time values ranges from ’00:00:00′ to ’23:59:59:997’ with an accuracy of 3.33 milliseconds.
  • Datetime2: Now below you can see the difference between Datetime and Datetime2. It ranges from January 1, 0001 to December 31, 9999 with an accuracy of 100 nanoseconds.
  • Datetimeoffset: It is same as datetime2 and in addition to this it includes time zone offset.

Other Data Types

  • xml: It stores xml formatted data with a maximum size of 2GB.
  • cursor: It is used in database operations and it stores a reference to a cursor.
  • sql_variant: It stores various data types of data with a maximum size of 8000 bytes.

Examples of SQL Server Data Types

Given below are the examples of SQL Server Data Types:

Example #1

CREATE TABLE Employees
(
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
column3 datatype [ NULL | NOT NULL ],
column4 datatype [ NULL | NOT NULL ],
...
);

Explanation:

All the columns in a table must have a data type. It should be defined as either null or not null and if we are placing value in left blank the database automatically assumes default as Null.

Example #2

CREATE TABLE Table_Name
( Custimer_id INT NOT NULL,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50)
CTC MONEY
);

Explanation:

  • In an example, the first column is called Customer id which is created as an INT data type and it will not be having NULL values.
  • The second column is the first_name and it is VARCHAR datatype and it should not contain NULL values.
  • The third column is the last_name which is a VARCHAR data type with a maximum character length of 50 but it can contain Null values.
  • The fourth column is called salary which is a MONEY data type and it can contain NULL values.

Example #3

Select
ISDATE('2019-09-25') As P,
ISDATE('2019-09-25 14:49') As Q,
ISDATE('2019-09-25 14:49:54') As R,
ISDATE('13:45) As S,
ISDATE('2019-09-31) As T,
ISDATE('13:67) As U,
ISDATE('27:45) As V

Explanation:

  • 2019-09-25 is a valid date.
  • 2019-09-25 14:49 is a valid date with data of hour and minute and the same applies to 2019-09-25 14:49:54 and it also includes seconds.
  • If we execute the above program last 3 will be shown as zero (T, U through V are 0 )because September does not have 31 days, thus making 2019-09-31 an invalid date.
  • Days have 24 hours and each hour has 60 minutes, which makes 27:45 and 13:67 as invalid times.

Conclusion

Before going to maintain the database using SQL Server we need to learn the basics of SQL Server, without knowing the basic concepts like Data types, Functions, etc we cannot use the SQL for example if we want to use ant data type first we need to know the maximum size, type, and range of values. We cannot write the SQL script without having knowledge of Datatypes. All types of data types will not support all types of databases.

Below are a few examples:

  • Oracle database will not support DATETIME
  • Mysql will not support the CLOB data type.
  • Microsoft SQL Server has big and small money data types but they will not help other database vendors.

Recommended Articles

We hope that this EDUCBA information on “SQL Server Data Types” was beneficial to you. You can view EDUCBA’s recommended articles for more information.

  1. Relational Database Model
  2. Data Definition Language
  3. Custom SQL in Tableau
  4. Data Modelling Tools
Primary Sidebar
Footer
Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Log in
Courses
  • Enterprise Solutions
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2025 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

EDUCBA
Free Data Science Course

Hadoop, Data Science, Statistics & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

🚀 Limited Time Offer! - 🎁 ENROLL NOW