ชนิดข้อมูลเซิร์ฟเวอร์ SQL พร้อมตัวอย่าง

ประเภทข้อมูลคืออะไร?

A ประเภทข้อมูล ในเซิร์ฟเวอร์ SQL หมายถึงประเภทของข้อมูลที่คอลัมน์หรือตัวแปรใด ๆ สามารถจัดเก็บได้ เป็นประเภทของข้อมูลที่ออบเจ็กต์เก็บ เช่น จำนวนเต็ม อักขระ สตริง ฯลฯ ในขณะที่สร้างตารางหรือตัวแปรใดๆ นอกเหนือจากการระบุชื่อแล้ว คุณยังตั้งค่าประเภทข้อมูลที่จะจัดเก็บด้วย

วิธีใช้ประเภทข้อมูล MS SQL

  • คุณต้องกำหนดล่วงหน้าถึงประเภทของข้อมูลที่คอลัมน์หรือตัวแปรสามารถจัดเก็บได้ การกำหนดประเภทข้อมูลยังจำกัดผู้ใช้จากการป้อนข้อมูลที่ไม่คาดคิดหรือไม่ถูกต้อง
  • คุณสามารถใช้หน่วยความจำอย่างมีประสิทธิภาพได้โดยการกำหนดประเภทข้อมูลที่เหมาะสมให้กับตัวแปรหรือคอลัมน์ ซึ่งจะจัดสรรเฉพาะจำนวนหน่วยความจำระบบที่ต้องการสำหรับข้อมูลของคอลัมน์ที่เกี่ยวข้อง
  • MS SQL นำเสนอประเภทข้อมูลพื้นฐานใน SQL หลายประเภทตามความต้องการของผู้ใช้ เช่น วันที่ รูปภาพไบนารี ฯลฯ

เหตุใดจึงต้องใช้ DataType

เรามายกตัวอย่างง่ายๆ กัน หน้าลงทะเบียน ของแอปพลิเคชันเว็บไซต์ ช่องป้อนข้อมูลสามช่อง ได้แก่ ชื่อ นามสกุล และหมายเลขติดต่อ

เราควรทราบไว้ ณ ที่นี้แบบเรียลไทม์:

  • "ชื่อนามสกุล" จะเป็นเสมอ ตัวอักษร.
  • "ติดต่อ" จะเป็นเสมอ เป็นตัวเลข.
ชนิดข้อมูลเซิร์ฟเวอร์ SQL
ตัวอย่างประเภทข้อมูลใน MS SQL
  • จากภาพด้านบนถือว่าคุ้มค่าที่จะกำหนด "ชื่อนามสกุล" เป็น ตัวอักษร และ "ติดต่อ" ในฐานะที่เป็น จำนวนเต็ม.

เห็นได้ชัดว่าในแอปพลิเคชันใดๆ ทุกฟิลด์มีข้อมูลประเภทใดประเภทหนึ่ง เช่น ตัวเลข ตัวอักษร วันที่ และอื่นๆ อีกมากมาย

นอกจากนี้ โปรดทราบว่าประเภทข้อมูลที่ต่างกันมีความต้องการหน่วยความจำที่แตกต่างกัน ดังนั้นจึงเหมาะสมกว่าที่จะกำหนดคอลัมน์หรือ ตัวแปร ด้วยประเภทข้อมูลที่จะเก็บไว้เพื่อการใช้หน่วยความจำอย่างมีประสิทธิภาพ

ชนิดข้อมูลที่มีอยู่ใน MS SQL Server

นี่คือรายการประเภทข้อมูลเซิร์ฟเวอร์ MS SQL:

เซิร์ฟเวอร์ MS SQL รองรับประเภทข้อมูลประเภทต่อไปนี้:

  • ตัวเลขที่แน่นอน
  • ตัวเลขโดยประมาณ
  • วันและเวลา
  • สายอักขระ
  • สตริงอักขระ Unicode
  • สตริงไบนารี
  • ประเภทข้อมูลอื่นๆ
ชนิดข้อมูลที่มีอยู่ใน MS SQL Server

ประเภทข้อมูล MS SQL

ประเภทข้อมูลตัวเลขที่แน่นอนใน SQL

ตัวเลขที่แน่นอนมีประเภทข้อมูลย่อยเก้าประเภทในเซิร์ฟเวอร์ SQL

ประเภทข้อมูลตัวเลขที่แน่นอน

ประเภทข้อมูล Descriptไอออน ขีด จำกัด ต่ำกว่า ขีด จำกัด บน หน่วยความจำ
ใหญ่ มันเก็บตัวเลขจำนวนเต็มในช่วงที่กำหนด −2^63 (−9,223,372, 036,854,775,808) 2^63−1 (−9,223,372, 036,854,775,807) ไบต์ 8
int มันเก็บตัวเลขจำนวนเต็มในช่วงที่กำหนด −2^31 (−2,147, 483,648) 2^31−1 (−2,147, 483,647) ไบต์ 4
ขนาดเล็ก มันเก็บตัวเลขจำนวนเต็มในช่วงที่กำหนด −2^15 (−32,767) 2^15 (−32,768) ไบต์ 2
Tinyint มันเก็บตัวเลขจำนวนเต็มในช่วงที่กำหนด 0 255 1 ไบต์
บิต อาจใช้ค่า 0, 1 หรือ NULL 0 1 คอลัมน์ 1 ไบต์/8 บิต
ทศนิยม ใช้สำหรับมาตราส่วนและตัวเลขความแม่นยำคงที่ −10^38+1 10^381−1 5 ถึง 17 ไบต์
เป็นตัวเลข ใช้สำหรับมาตราส่วนและตัวเลขความแม่นยำคงที่ −10^38+1 10^381−1 5 ถึง 17 ไบต์
เงิน ข้อมูลทางการเงินที่ใช้แล้ว -922,337, 203, 685,477.5808 +922,337, 203, 685,477.5807 ไบต์ 8
เงินขนาดเล็ก ข้อมูลทางการเงินที่ใช้แล้ว -214,478.3648 +214,478.3647 ไบต์ 4

ชนิดข้อมูลตัวเลขที่แน่นอนใน เซิร์ฟเวอร์ SQL พร้อมตัวอย่าง:

ค้นหา:

DECLARE @Datatype_Int INT = 2
PRINT @Datatype_Int

เอาท์พุต

2

วากยสัมพันธ์

ทศนิยม (ป,ส)

ที่นี่

  • P คือความแม่นยำ
  • S คือสเกล

ค้นหา:

DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31
PRINT @Datatype_Decimal

เอาท์พุต

2.31

ประเภทข้อมูลตัวเลขโดยประมาณใน SQL

SQL หมวดหมู่ตัวเลขโดยประมาณประกอบด้วยจุดลอยตัวและค่าจริง ประเภทข้อมูลเหล่านี้ใน SQL ส่วนใหญ่จะใช้ในการคำนวณทางวิทยาศาสตร์

ประเภทข้อมูลตัวเลขโดยประมาณ

ประเภทข้อมูล Descriptไอออน ขีด จำกัด ต่ำกว่า ขีด จำกัด บน หน่วยความจำ ความแม่นยำ
ลอย(n) ใช้สำหรับตัวเลขความแม่นยำแบบลอยตัว −1.79E+308 1.79E + 308 ขึ้นอยู่กับค่าของ n 7 Digit
จริง ใช้สำหรับตัวเลขความแม่นยำแบบลอยตัว −3.40E+38 3.40E + 38 ไบต์ 4 15 Digit
Syntax:  FLOAT [(n)]

ที่นี่ n คือจำนวนบิตที่ใช้เก็บแมนทิสซาของ ลอย ตัวเลขในสัญกรณ์วิทยาศาสตร์ โดยค่าเริ่มต้น ค่าของ n คือ 53

เมื่อผู้ใช้กำหนดประเภทข้อมูลเช่น float n ควรเป็นค่าระหว่าง 1 ถึง 53

ถือว่าเซิร์ฟเวอร์ SQL n เป็นหนึ่งในสองค่าที่เป็นไปได้ ถ้า 1<=n<=24 n จะถือเป็น 24 ถ้า 25<=n<=53 n จะถือเป็น 53

ตัวอย่างแบบสอบถาม:

DECLARE @Datatype_Float FLOAT(24) = 22.1234
PRINT @Datatype_Float

เอาท์พุต

22.1234

ประเภทข้อมูลวันที่และเวลาใน SQL

เก็บข้อมูลประเภทวันที่และเวลา

ประเภทข้อมูลวันที่และเวลา

ประเภทข้อมูล Descriptไอออน ขนาดพื้นที่จัดเก็บ ความถูกต้อง ช่วงล่าง ช่วงบน
วันเวลา ใช้สำหรับระบุวันที่และเวลาตั้งแต่ 1 มกราคม 1753 ถึง 31 ธันวาคม 9999 มีความแม่นยำ 3.33 มิลลิวินาที ไบต์ 8 ปัดเศษเพื่อเพิ่มขั้น .000, .003, .007 1753-01-01 9999-12-31
วันที่และเวลาขนาดเล็ก ใช้สำหรับระบุวันที่และเวลาตั้งแต่ 1 มกราคม 0001 ถึง 31 ธันวาคม 9999 มีความแม่นยำ 100 นาโนวินาที 4 ไบต์ แก้ไขแล้ว 1 นาที 1900-01-01 2079-06-06
ข้อมูล ใช้จัดเก็บเฉพาะวันที่ 1 มกราคม 0001 ถึง 31 ธันวาคม 9999 3 ไบต์ แก้ไขแล้ว วัน 1 0001-01-01 9999-12-31
เวลา ใช้สำหรับจัดเก็บเฉพาะค่าเวลาเท่านั้นด้วยความแม่นยำ 100 นาโนวินาที ไบต์ 5 100 นาโนวินาที 00:00:00.0000000 23:59:59.9999999
วันที่และเวลาชดเชย คล้ายกับ datatime แต่มีการชดเชยเขตเวลา ไบต์ 10 100 นาโนวินาที 0001-01-01 9999-12-31
วันที่เวลา 2 ใช้สำหรับระบุวันและเวลาตั้งแต่ 1 มกราคม 0001 ถึง 31 ธันวาคม 9999 ไบต์ 6 100 นาโนวินาที 0001-01-01 9999-12-31

ตัวอย่างแบบสอบถาม :

DECLARE @Datatype_Date DATE = '2030-01-01'
PRINT @Datatype_Date

เอาท์พุต

'2030-01-01'

ประเภทข้อมูลสตริงอักขระใน SQL

หมวดหมู่นี้เกี่ยวข้องกับประเภทอักขระ ช่วยให้ผู้ใช้สามารถกำหนดประเภทข้อมูลของอักขระที่สามารถมีความยาวคงที่และผันแปรได้ มีประเภทข้อมูลสี่ประเภท ด้านล่างนี้คือชนิดข้อมูลเซิร์ฟเวอร์ SQL สตริงอักขระพร้อมตัวอย่าง

ประเภทข้อมูลสตริงอักขระ

ประเภทข้อมูล Descriptไอออน ขีด จำกัด ต่ำกว่า ขีด จำกัด บน หน่วยความจำ
ถัง เป็นสตริงอักขระที่มีความกว้างคงที่ สามารถเก็บอักขระได้สูงสุด 8,000 ตัว 0 ตัวอักษร 8000 ตัวอักษร n ไบต์
วาร์ชาร์ นี่คือสตริงอักขระที่มีความกว้างผันแปรได้ 0 ตัวอักษร 8000 ตัวอักษร n ไบต์ + 2 ไบต์
วาร์ชาร์ (สูงสุด) นี่คือสตริงอักขระที่มีความกว้างผันแปรได้ เก็บได้สูงสุด 1,073,741,824 อักขระ 0 ตัวอักษร 2^31 ตัวอักษร n ไบต์ + 2 ไบต์
ข้อความ นี่คือสตริงอักขระที่มีความกว้างผันแปรได้ เก็บข้อมูลข้อความได้สูงสุด 2GB 0 ตัวอักษร 2,147,483,647 ตัวอักษร n ไบต์ + 4 ไบต์

ตัวอย่างแบบสอบถาม :

DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'
PRINT @Datatype_Char

เอาท์พุต

นี่คือประเภทข้อมูลอักขระ

ชนิดข้อมูลสตริงอักขระ Unicode ใน SQL

หมวดหมู่นี้จัดเก็บอักขระ Unicode ทั้งหมดซึ่งใช้การเข้ารหัสอักขระ UTF-16

ชนิดข้อมูลสตริงอักขระ Unicode

ประเภทข้อมูล Descriptไอออน ขีด จำกัด ต่ำกว่า ขีด จำกัด บน หน่วยความจำ
ชาร์ เป็นสตริง Unicode ที่มีความกว้างคงที่ 0 ตัวอักษร 4000 ตัวอักษร 2 ครั้ง n ไบต์
นวาร์ชาร์ เป็นสตริงยูนิโค้ดที่มีความกว้างผันแปร 0 ตัวอักษร 4000 ตัวอักษร 2 คูณ n ไบต์ + 2 ไบต์
ข้อความ เป็นสตริงยูนิโค้ดที่มีความกว้างผันแปร 0 ตัวอักษร 1,073,741,823 ถ่าน 2 เท่าของความยาวสาย

ตัวอย่างแบบสอบถาม:

DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'
PRINT @Datatype_nChar

เอาท์พุต

นี่คือประเภทข้อมูล nCharacter

ชนิดข้อมูลสตริงไบนารีใน SQL

หมวดหมู่นี้ประกอบด้วยสตริงไบนารีที่มีความยาวคงที่และแปรผันได้

ชนิดข้อมูลสตริงไบนารี

ประเภทข้อมูล Descriptไอออน ขีด จำกัด ต่ำกว่า ขีด จำกัด บน หน่วยความจำ
ไบนารี เป็นสตริงไบนารีที่มีความกว้างคงที่ มันเก็บได้สูงสุด 8,000 ไบต์ ไบต์ 0 ไบต์ 8000 n ไบต์
วาร์บินารี นี่คือสตริงไบนารี่ที่มีความกว้างของตัวแปร มันเก็บได้สูงสุด 8,000 ไบต์ ไบต์ 0 ไบต์ 8000 ความยาวจริงของข้อมูลที่ป้อน + 2 ไบต์
ภาพ นี่คือสตริงไบนารี่ที่มีความกว้างของตัวแปร สามารถจัดเก็บข้อมูลได้สูงสุด 2GB ไบต์ 0 ไบต์ 2,147,483,647

ตัวอย่างแบบสอบถาม:

DECLARE @Datatype_Binary BINARY(2) = 12;
PRINT @Datatype_Binary

เอาท์พุต

0x000C

ประเภทข้อมูลอื่นๆ ใน SQL

เหล่านี้เป็นประเภทข้อมูลเซิร์ฟเวอร์ SQL อื่น ๆ ที่มีคำอธิบายด้านล่าง -

ประเภทข้อมูล Descriptไอออน
เคอร์เซอร์ ผลลัพธ์ของมันคือคอลัมน์ของ sp_cursor_list และ sp_describe_cursor
มันส่งกลับชื่อของตัวแปรเคอร์เซอร์
เวอร์ชั่นแถว เวอร์ชันจะประทับตราแถวของตาราง
ลำดับชั้น ประเภทข้อมูลนี้แสดงถึงตำแหน่งในลำดับชั้น
ตัวระบุที่ไม่ซ้ำ การแปลงจากการแสดงออกของตัวละคร
Sql_variant มันเก็บค่าของประเภทข้อมูลที่รองรับเซิร์ฟเวอร์ SQL
XML มันเก็บข้อมูล XML ไว้ในคอลัมน์
ประเภทเรขาคณิตเชิงพื้นที่ เป็นการแสดงข้อมูลในระบบพิกัดแบบแบน
ประเภทภูมิศาสตร์เชิงพื้นที่ เป็นการแสดงข้อมูลในระบบพิกัดโลกกลม
ตาราง จะเก็บชุดผลลัพธ์ไว้สำหรับการประมวลผลในภายหลัง

ข้อเท็จจริงที่น่าสนใจ!

สรุป

  • ทุกคอลัมน์ในตารางจะกำหนดด้วยประเภทข้อมูลระหว่างการสร้างตาราง
  • มี 6 หมวดหมู่หลักและหมวดหมู่เบ็ดเตล็ดอีก 1 หมวดหมู่ หมวดเบ็ดเตล็ดอื่นๆ มี 9 หมวดหมู่ย่อย เซิร์ฟเวอร์ SQL ประเภทข้อมูลและขนาดที่มีอยู่