ประเภทข้อมูลของ SQL
- หน้าก่อนหน้า isnull() ของ SQL
- หน้าต่อไป SQL ซีฟู่เรอร์
ประเภทของข้อมูล และขอบเขตที่ใช้ใน Microsoft Access, MySQL และ SQL Server
ประเภทของข้อมูล Microsoft Access
ประเภทข้อมูล | คำอธิบาย | จัดเก็บ |
---|---|---|
Text | ใช้สำหรับข้อความ หรือ ส่วนผสมของข้อความและตัวเลข สูงสุด 255 ตัวอักษร | |
Memo |
Memo ใช้สำหรับข้อความที่มีจำนวนมาก สามารถเก็บข้อความได้สูงสุด 65,536 ตัวอักษร หมายเหตุ: ไม่สามารถจัดเรียงฟิลด์ memo ได้ แต่พวกเขาสามารถค้นหาได้ |
|
Byte | อนุญาตให้มีเลขที่อยู่ระหว่าง 0 ถึง 255 | 1 ไบต์ |
Integer | อนุญาตให้มีเลขที่อยู่ระหว่าง -32,768 ถึง 32,767 | 2 ไบต์ |
Long | อนุญาตให้มีเลขทุกตัวเลขที่อยู่ระหว่าง -2,147,483,648 ถึง 2,147,483,647 | 4 bytes |
Single | ความยาวของเลขทศนิยมที่สูงสุด 1 ทศนิยม | 4 bytes |
Double | ความยาวของเลขทศนิยมที่สูงสุด 2 ทศนิยม | 8 ไบต์ |
Currency |
ใช้สำหรับเงิน สนับสนุน 15 ตำแหน่งของเงิน และ 4 ตำแหน่งของตัวเลขทศนิยม คำเตือน: คุณสามารถเลือกเงินของประเทศที่คุณต้องการ |
8 ไบต์ |
AutoNumber | ฟิลด์ AutoNumber จะแจกจ่ายเลขให้แต่ละบันทึกโดยอัตโนมัติ ทั่วไปจะเริ่มต้นด้วยเลข 1 | 4 bytes |
Date/Time | ใช้สำหรับวัน/เวลา | 8 ไบต์ |
Yes/No |
ฟิลด์ทางวิชาการ สามารถแสดงเป็น Yes/No หรือ True/False หรือ On/Off ในรหัสคำสั่งใช้ค่าคงที่ True และ False (เท่ากับ 1 และ 0) หมายเหตุ: ไม่อนุญาตให้มีค่า Null ในฟิลด์ Yes/No |
1 บิต |
Ole Object | สามารถเก็บรูปภาพ บันทึกเสียง วิดีโอ หรือ BLOBs (Binary Large OBjects) อื่น ๆ | สูงสุด 1GB |
Hyperlink | มีลิงก์ไปยังไฟล์อื่น รวมถึงเว็บไซต์ | |
Lookup Wizard | อนุญาตให้คุณสร้างรายการตัวเลือกที่สามารถเลือกจากตารางตัวเลือกด้านล่าง | 4 bytes |
ประเภทของข้อมูล MySQL
ใน MySQL มีสามประเภทหลัก: ประเภทของข้อความ ประเภทของตัวเลข และประเภทของวัน/เวลา
ประเภทของ Text:
ประเภทข้อมูล | คำอธิบาย |
---|---|
CHAR(size) | บันทึกข้อความที่มีความยาวเรียบร้อย (สามารถประกอบด้วยตัวอักษร ตัวเลข และสัญลักษณ์พิเศษ) ระบุความยาวของข้อความในวงเล็บ สูงสุด 255 ตัวอักษร。 |
VARCHAR(size) |
บันทึกข้อความที่มีความยาวที่แตกต่างกัน (สามารถประกอบด้วยตัวอักษร ตัวเลข และสัญลักษณ์พิเศษ) ระบุความยาวของข้อความในวงเล็บ สูงสุด 255 ตัวอักษร。 注释:如果值的长度大于 255,则被转换为 TEXT 类型。 |
TINYTEXT | หมายเหตุ: ถ้าความยาวของค่ามากกว่า 255 ตัวอักษร จะถูกเปลี่ยนเป็นรูปแบบ TEXT |
TINYTEXT | จัดเก็บข้อความที่มีความยาวสูงสุด 255 ตัวอักษร |
TEXT | จัดเก็บข้อความที่มีความยาวสูงสุด 65,535 ตัวอักษร |
BLOB | ใช้สำหรับ BLOBs (Binary Large OBjects) จัดเก็บข้อมูลสัญญาณบิตสูงสุด 65,535 ได้ |
MEDIUMTEXT | จัดเก็บข้อความที่มีความยาวสูงสุด 16,777,215 ตัวอักษร |
MEDIUMBLOB | ใช้สำหรับ BLOBs (Binary Large OBjects) จัดเก็บข้อมูลสัญญาณบิตสูงสุด 16,777,215 ได้ |
LONGTEXT | จัดเก็บข้อความที่มีความยาวสูงสุด 4,294,967,295 ตัวอักษร |
LONGBLOBใช้สำหรับ BLOBs (Binary Large OBjects) จัดเก็บข้อมูลสัญญาณบิตสูงสุด 4,294,967,295 ได้,ENUM(,xy |
z ,etc.) อนุญาตให้คุณใส่รายการค่าที่เป็นไปได้ สามารถระบุค่าสูงสุด 65535 รายการในรายการ ENUM ถ้าค่าที่ใส่ไม่มีในรายการ จะใส่ค่าว่าง |
หมายเหตุ: ค่าเหล่านี้จะถูกเก็บเป็นลำดับที่คุณใส่ | สามารถใส่ค่าที่เป็นไปได้ในรูปแบบนี้: ENUM('X','Y','Z') |
ประเภท Number:
ประเภทข้อมูล | คำอธิบาย |
---|---|
SETsize) | เหมือน ENUM แต่ SET สามารถมีรายการรายการที่สูงสุด 64 รายการ แต่ SET สามารถเก็บค่าหลายตัว |
SMALLINT(size) | -32768 ถึง 32767 ปกติ 0 ถึง 65535 ไม่มีสัญญาณ * ในกรอบเลขที่กำหนดจำนวนตัวเลขสูงสุด |
MEDIUMINT(size) | -8388608 ถึง 8388607 ปกติ 0 ถึง 16777215 ไม่มีสัญญาณ * ในกรอบเลขที่กำหนดจำนวนตัวเลขสูงสุด |
INT(size) | -2147483648 ถึง 2147483647 ปกติ 0 ถึง 4294967295 ไม่มีสัญญาณ * ในกรอบเลขที่กำหนดจำนวนตัวเลขสูงสุด |
BIGINT(size) | -9223372036854775808 ถึง 9223372036854775807 ปกติ 0 ถึง 18446744073709551615 ไม่มีสัญญาณ * ในกรอบเลขที่กำหนดจำนวนตัวเลขสูงสุด |
FLOAT(size,d) | ตัวเลขเล็กที่มีจุดเลขของเลือกที่ลอยขึ้น ในกรอบเลขที่กำหนดจำนวนตัวเลขสูงสุด ในตัวอักษร d กำหนดจำนวนตัวเลขสูงสุดของจุดเลข |
DOUBLE(size,d) | ตัวเลขใหญ่ที่มีจุดเศษ ในตัวเลขที่ระบุในวงเล็บกำหนดจำนวนตัวเลขสูงสุด ในตัวเลขที่ระบุใน d กำหนดจำนวนตัวเลขที่อยู่ด้านขวาของจุดเศษสูงสุด |
DECIMAL(size,d) | ประเภท DOUBLE ที่เก็บเป็นตัวอักษร ยอมรับจุดเศษที่เรียบร้อย |
*ประเภทตัวเลขที่มี ตัวเลขเต็มเพิ่มเติม โดยมาก อาจเป็นตัวเลขลบหรือบวก ถ้าเพิ่มคุณสมบัติ UNSIGNED ระยะทางจะเริ่มต้นที่ 0 แทนที่จะเริ่มต้นที่ตัวเลขลบ
ประเภท Date
ประเภทข้อมูล | คำอธิบาย |
---|---|
DATE() |
วัน รูปแบบ: YYYY-MM-DD หมายเหตุ: ขอบเขตที่สนับสนุนเป็น '1000-01-01' ถึง '9999-12-31' |
DATETIME() |
*ชุดวันและเวลา รูปแบบ: YYYY-MM-DD HH:MM:SS หมายเหตุ: ขอบเขตที่สนับสนุนเป็น '1000-01-01 00:00:00' ถึง '9999-12-31 23:59:59' |
TIMESTAMP() |
*ชื่อเวลา รูปแบบ: YYYY-MM-DD HH:MM:SS หมายเหตุ: ขอบเขตที่สนับสนุนเป็น '1970-01-01 00:00:01' UTC ถึง '2038-01-09 03:14:07' UTC |
TIME() |
เวลา รูปแบบ: HH:MM:SS หมายเหตุ: ขอบเขตที่สนับสนุนเป็น '-838:59:59' ถึง '838:59:59' |
YEAR() |
ปีในรูปแบบ 2 หรือ 4 ตัว หมายเหตุ: ค่าที่ยอมรับในรูปแบบ 4 ตัว คือ 1901 ถึง 2155 ค่าที่ยอมรับในรูปแบบ 2 ตัว คือ 70 ถึง 69 แสดงว่าจากปี 1970 ถึง 2069 |
* แม้ว่า DATETIME และ TIMESTAMP จะกลับรูปแบบเดียวกัน แต่วิธีที่ทำงานของมันต่างกันมาก ในการ INSERT หรือ UPDATE คำสั่ง TIMESTAMP จะตั้งค่าตัวเองเป็นวันและเวลาปัจจุบัน TIMESTAMP ยังรับรูปแบบต่างๆ อีกเช่น YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD หรือ YYMMDD
ประเภทข้อมูล SQL Server
ข้อความ Character ตัวอักษร
ประเภทข้อมูล | คำอธิบาย | จัดเก็บ |
---|---|---|
char(n) | ตัวอักษรความยาวเรียบร้อย 8,000 ตัวอักษร | n |
varchar(n) | สามารถยาวโดยประมาณ 8,000 ตัวอักษร | |
varchar(max) | สามารถยาวโดยประมาณ 1,073,741,824 ตัวอักษร | |
text | สามารถยาวโดยประมาณ 2GB ของข้อมูลตัวอักษร |
ข้อความ Unicode:
ประเภทข้อมูล | คำอธิบาย | จัดเก็บ |
---|---|---|
nchar(n) | ข้อมูล Unicode ขนาดเรียบร้อย สามารถเก็บได้ถึง 4,000 ตัวอักษร。 | |
nvarchar(n) | ข้อมูล Unicode ขนาดไม่แน่นอน สามารถเก็บได้ถึง 4,000 ตัวอักษร。 | |
nvarchar(max) | ข้อมูล Unicode ขนาดไม่แน่นอน สามารถเก็บได้ถึง 536,870,912 ตัวอักษร。 | |
ntext | ข้อมูล Unicode ขนาดไม่แน่นอน สามารถเก็บได้ถึง 2GB ตัวอักษรข้อมูล。 |
ประเภท Binary:
ประเภทข้อมูล | คำอธิบาย | จัดเก็บ |
---|---|---|
bit | อนุญาต 0, 1 หรือ NULL | |
binary(n) | ข้อมูลบีนารี่ขนาดเรียบร้อย สามารถเก็บได้ถึง 8,000 ไบต์。 | |
varbinary(n) | ข้อมูลบีนารี่ขนาดไม่แน่นอน สามารถเก็บได้ถึง 8,000 ไบต์。 | |
varbinary(max) | ข้อมูลบีนารี่ขนาดไม่แน่นอน สามารถเก็บได้ถึง 2GB ไบต์。 | |
image | ข้อมูลบีนารี่ขนาดไม่แน่นอน สามารถเก็บได้ถึง 2GB。 |
ประเภท Number:
ประเภทข้อมูล | คำอธิบาย | จัดเก็บ |
---|---|---|
tinyint | อนุญาตให้เก็บตัวเลขทั้งหมดที่อยู่ระหว่าง 0 ถึง 255。 | 1 ไบต์ |
smallint | อนุญาตให้เก็บตัวเลขทั้งหมดที่อยู่ระหว่าง -32,768 ถึง 32,767。 | 2 ไบต์ |
int | อนุญาตให้เก็บตัวเลขทั้งหมดที่อยู่ระหว่าง -2,147,483,648 ถึง 2,147,483,647。 | 4 bytes |
bigint | อนุญาตให้เก็บตัวเลขทั้งหมดที่อยู่ระหว่าง -9,223,372,036,854,775,808 ถึง 9,223,372,036,854,775,807。 | 8 ไบต์ |
decimal(p,s) |
ตัวเลขที่มีความเร็วและสัดส่วนที่เป็นตัวเลขตัวเดียว อนุญาตให้เก็บตัวเลขที่อยู่ระหว่าง -10^38 +1 ถึง 10^38 -1。 ตัวอักษร p บอกว่าจำนวนตำแหน่งที่เก็บที่สามารถเก็บทั้งทางด้านฝั่งซ้ายและฝั่งขวาของจุดขนานเศษสูงสุด ตัวอักษร p จะต้องเป็นค่าที่อยู่ระหว่าง 1 ถึง 38 ค่าเริ่มต้นคือ 18。 ตัวอักษร s บอกว่าจำนวนตำแหน่งที่เก็บที่ด้านขวาของจุดขนานเศษสูงสุด ตัวอักษร s จะต้องเป็นค่าที่อยู่ระหว่าง 0 ถึง p ค่าเริ่มต้นคือ 0。 |
5-17 ไบต์ |
numeric(p,s) |
ตัวเลขที่มีความเร็วและสัดส่วนที่เป็นตัวเลขตัวเดียว อนุญาตให้เก็บตัวเลขที่อยู่ระหว่าง -10^38 +1 ถึง 10^38 -1。 ตัวอักษร p บอกว่าจำนวนตำแหน่งที่เก็บที่สามารถเก็บทั้งทางด้านฝั่งซ้ายและฝั่งขวาของจุดขนานเศษสูงสุด ตัวอักษร p จะต้องเป็นค่าที่อยู่ระหว่าง 1 ถึง 38 ค่าเริ่มต้นคือ 18。 ตัวอักษร s บอกว่าจำนวนตำแหน่งที่เก็บที่ด้านขวาของจุดขนานเศษสูงสุด ตัวอักษร s จะต้องเป็นค่าที่อยู่ระหว่าง 0 ถึง p ค่าเริ่มต้นคือ 0。 |
5-17 ไบต์ |
smallmoney | ข้อมูลเงินสดที่อยู่ระหว่าง -214,748.3648 และ 214,748.3647。 | 4 bytes |
money | ข้อมูลเงินสดที่อยู่ระหว่าง -922,337,203,685,477.5808 และ 922,337,203,685,477.5807。 | 8 ไบต์ |
float(n) |
ตัวเลข floating-point ที่มีความเร็วจาก -1.79E + 308 ถึง 1.79E + 308。 ปรากฏการณ์ n บอกว่าฟิールドนี้จะเก็บ 4 ไบต์หรือ 8 ไบต์。float(24) จะเก็บ 4 ไบต์ และ float(53) จะเก็บ 8 ไบต์。ค่าเริ่มต้นของ n คือ 53。 |
4 หรือ 8 bytes |
real | ตัวเลขที่มีความเที่ยงตรงระหว่าง -3.40E + 38 ถึง 3.40E + 38 โดยมีความเที่ยงตรงแบบ floating-point | 4 bytes |
ประเภท Date
ประเภทข้อมูล | คำอธิบาย | จัดเก็บ |
---|---|---|
datetime | จาก 1753 มกราคม 1 ถึง 9999 ธันวาคม 31 ความเที่ยงตรงสูงสุด 3.33 มิลลิวินาที | 8 bytes |
datetime2 | จาก 1753 มกราคม 1 ถึง 9999 ธันวาคม 31 ความเที่ยงตรงสูงสุด 100 นาโนวาท | 6-8 bytes |
smalldatetime | จาก 1900 มกราคม 1 ถึง 2079 มิถุนายน 6 ความเที่ยงตรงสูงสุด 1 นาที | 4 bytes |
date | จัดเก็บวันเท่านั้น จาก 0001 มกราคม 1 ถึง 9999 ธันวาคม 31 | 3 bytes |
time | จัดเก็บเวลาเท่านั้น ความเที่ยงตรงสูงสุด 100 นาโนวาท | 3-5 bytes |
datetimeoffset | เหมือน datetime2 แต่เพิ่มความเป็นต่างกันตามหมู่เวลา | 8-10 bytes |
timestamp | จัดเก็บเลขเดียวที่ขึ้นด้านหลังเมื่อสร้างหรือแก้ไขบรรทัดใดๆ จะปรับปรุงตัวเลขนี้ timestamp ฐานหน้าจอภายใน ไม่สอดคล้องกับเวลาที่แท้จริง แต่ละตารางสามารถมี timestamp หนึ่งตัวเท่านั้น |
ประเภทข้อมูลอื่น ๆ
ประเภทข้อมูล | คำอธิบาย |
---|---|
sql_variant | จัดเก็บข้อมูลประเภทข้อมูลต่าง ๆ สูงสุด 8,000 ไบต์ ยกเว้น text, ntext และ timestamp |
uniqueidentifier | จัดเก็บอ้างอิงรหัสไอดีเดียวที่สำคัญ (GUID) |
xml | จัดเก็บข้อมูลที่ฟอร์แมต XML สูงสุด 2GB |
cursor | จัดเก็บอ้างอิงที่ใช้สำหรับคำสั่งการปฏิบัติการฐานข้อมูล |
table | จัดเก็บผลลัพธ์ตัวเลขเพื่อการประมวลผลในอนาคต |
- หน้าก่อนหน้า isnull() ของ SQL
- หน้าต่อไป SQL ซีฟู่เรอร์