Apakah itu Datatype?
Jenis data didefinisikan sebagai jenis data yang boleh disimpan oleh setiap lajur atau pemboleh ubah dalam MS SQL Server.
Semasa membuat jadual atau pemboleh ubah apa pun, selain menentukan namanya, anda juga menetapkan Jenis Data yang akan disimpannya.
Cara menggunakan jenis data MS SQL
- Anda perlu menentukan terlebih dahulu, jenis data yang boleh disimpan oleh lajur atau pemboleh ubah. Menentukan jenis data juga menyekat pengguna daripada memasukkan data yang tidak dijangka atau tidak sah.
- Anda boleh menggunakan memori dengan cekap dengan menetapkan jenis data yang sesuai untuk pemboleh ubah atau lajur yang hanya akan memperuntukkan jumlah memori sistem yang diperlukan untuk data lajur masing-masing.
- MS SQL menawarkan kategori jenis data yang luas mengikut keperluan pengguna. Seperti Tarikh, gambar binari, dll.
Dalam tutorial ini, anda akan belajar:
- Apakah itu Datatype?
- Cara menggunakan jenis data MS SQL
- Mengapa menggunakan Jenis Data?
- Numerik Tepat
- Numerik Kira-kira
- Tarikh dan masa
- Rentetan watak
- Rentetan Watak Unicode
- Rentetan Perduaan
- Jenis Data Lain
Mengapa menggunakan Jenis Data?
Mari, ambil contoh halaman Pendaftaran aplikasi laman web yang sederhana. Tiga medan input adalah Nama Pertama, Nama Belakang & nombor Perhubungan.
Di sini kita harus perhatikan bahawa dalam masa nyata:
- "Nama Depan / Akhir" akan sentiasa mengikut abjad .
- "Kenalan" akan sentiasa berangka .
- Dari gambar di atas, perlu didefinisikan "Nama Depan / Akhir" sebagai watak dan " Kenalan" sebagai bilangan bulat .
Jelas bahawa dalam mana-mana aplikasi, semua bidang mempunyai satu atau jenis data yang lain. Cth, angka, abjad, tarikh, dan banyak lagi.
Juga, perhatikan bahawa jenis data yang berlainan mempunyai keperluan memori yang berbeza. Oleh itu, lebih masuk akal untuk menentukan lajur atau pemboleh ubah dengan jenis data yang akan dimiliki untuk penggunaan memori yang cekap.
Jenis data terdapat dalam MS SQL
Pelayan MS SQL menyokong kategori jenis Data berikut:
- Nombor tepat
- Nombor anggaran
- Tarikh dan masa
- Rentetan watak
- Rentetan watak unicode
- Rentetan binari
- Jenis data lain

Numerik Tepat
Nombor tepat mempunyai sembilan jenis sub-data jenis. Jenis Data Numerik Tepat
Jenis data | Penerangan | Had yang lebih rendah | Had atas | Ingatan |
---|---|---|---|---|
bigint | Ia menyimpan nombor bulat dalam julat yang diberikan | −2 63 (−9,223,372, 036,854,775,808) | 2 63−1 (−9,223,372, 036,854,775,807) | 8 bait |
int | Ia menyimpan nombor bulat dalam julat yang diberikan | −2 31 (−2.147, 483.648) | 2 31−1 (−2.147, 483.647) | 4 bait |
smallint | Ia menyimpan nombor bulat dalam julat yang diberikan | −2 15 (−32,767) | 2 15 (−32,768) | 2 bait |
smallint | Ia menyimpan nombor bulat dalam julat yang diberikan | 0 | 255 | 1 bait |
sedikit | Nilai boleh mengambil 0, 1, atau NULL. | 0 | 1 | Lajur 1 bait / 8bit |
perpuluhan | Digunakan untuk skala dan nombor ketepatan tetap | −10 38 + 1 | 10 381−1 | 5 hingga 17 bait |
berangka | Digunakan untuk skala dan nombor ketepatan tetap | −10 38 + 1 | 10 381−1 | 5 hingga 17 bait |
wang | Data kewangan terpakai | −922,337, 203, 685,477.5808 | +922,337, 203, 685,477.5807 | 8 bait |
wang kecil | Data kewangan terpakai | −214,478.3648 | +214,478.3647 | 4 bait |
Contoh:
Pertanyaan:
DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int
Keluaran: 2
Sintaks: Perpuluhan (P, S)
Di sini,
- P adalah ketepatan
- S adalah skala
Pertanyaan:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31PRINT @Datatype_Decimal
Keluaran: 2.31
Numerik Kira-kira
Kategori Numerik anggaran merangkumi titik terapung dan nilai sebenar. Mereka kebanyakannya digunakan dalam pengiraan saintifik. Jenis Data Numerik Kira-kira
Jenis data | Penerangan | Had yang lebih rendah | Had atas | Ingatan | Ketepatan |
---|---|---|---|---|---|
terapung (n) | Digunakan untuk nombor ketepatan terapung | −1.79E + 308 | 1.79E + 308 | Bergantung pada nilai n | 7 Digit |
nyata | Digunakan untuk nombor ketepatan terapung | −3.40E + 38 | 3.40E + 38 | 4 bait | 15 Digit |
Syntax: FLOAT [(n)]
Di sini, n adalah bilangan bit yang digunakan untuk menyimpan mantissa nombor apungan dalam notasi saintifik. Secara lalai, nilai n adalah 53.
Apabila pengguna menentukan jenis data seperti float, n harus menjadi nilai antara 1 dan 53.
Pelayan SQL memperlakukan n sebagai salah satu daripada dua nilai yang mungkin. Sekiranya 1 <= n <= 24, n dianggap sebagai 24. Sekiranya 25 <= n <= 53, n dianggap sebagai 53.
Pertanyaan Contoh:
DECLARE @Datatype_Float FLOAT(24) = 22.1234PRINT @Datatype_Float
Keluaran: 22.1234
Tarikh dan masa
Ia menyimpan data jenis Tarikh dan masa. Jenis Data Tarikh dan Masa
Jenis data | Penerangan | Saiz simpanan | Ketepatan | Julat Bawah | Julat Atas |
---|---|---|---|---|---|
Masa tarikh | Digunakan untuk menentukan tarikh dan waktu dari 1 Januari 1753 hingga 31 Disember 9999. Ia mempunyai ketepatan 3.33 milisaat. | 8 bait | Dibundarkan kepada kenaikan 0,000, .003, .007 | 1753-01-01 | 9999-12-31 |
masa kecil | Digunakan untuk menentukan tarikh dan waktu dari 1 Januari 0001 hingga 31 Disember 9999. Ia mempunyai ketepatan 100 nanodetik | 4 bait, tetap | 1 minit | 1900-01-01 | 2079-06-06 |
Tarikh | Digunakan untuk menyimpan tarikh sahaja dari 1 Januari 0001 hingga 31 Disember 9999 | 3 bait, tetap | 1 hari | 0001-01-01 | 9999-12-31 |
masa | Digunakan untuk menyimpan nilai masa sahaja dengan ketepatan 100 nanodetik. | 5 bait | 100 nanodetik | 00: 00: 00.0000000 | 23: 59: 59.9999999 |
datetimeoffset | Mirip dengan datatime tetapi mempunyai offset zon waktu | 10 bait | 100 nanodetik | 0001-01-01 | 9999-12-31 |
masa masa2 | Digunakan untuk menentukan tarikh dan masa dari 1 Januari 0001 hingga 31 Disember 9999 | 6 bait | 100 nanodetik | 0001-01-01 | 9999-12-31 |
Pertanyaan Contoh:
DECLARE @Datatype_Date DATE = '2030-01-01'PRINT @Datatype_Date
Keluaran: '2030-01-01'
Rentetan watak
Kategori ini berkaitan dengan jenis watak. Ini membolehkan pengguna menentukan jenis data watak yang panjangnya tetap dan berubah. Ia mempunyai empat jenis jenis data. Jenis Data Rentetan Karakter
Jenis data | Penerangan | Had yang lebih rendah | Had atas | Ingatan |
---|---|---|---|---|
char | Ini adalah rentetan watak dengan lebar tetap. Ia menyimpan maksimum 8,000 aksara. | 0 aksara | 8000 watak | n bait |
varchar | Ini adalah rentetan watak dengan lebar berubah | 0 aksara | 8000 watak | n bait + 2 bait |
varchar (maksimum) | Ini adalah rentetan watak dengan lebar berubah. Ia menyimpan maksimum 1,073,741,824 aksara. | 0 aksara | 2 31 watak | n bait + 2 bait |
teks | Ini adalah rentetan watak dengan lebar berubah. Ia menyimpan maksimum 2GB data teks. | 0 aksara | 2,147,483,647 watak | n bait + 4 bait |
Pertanyaan Contoh:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'PRINT @Datatype_Char
Keluaran: Ini adalah Jenis Data Karakter
Rentetan Watak Unicode
Kategori ini menyimpan pelbagai watak Unicode yang menggunakan pengekodan watak UTF-16. Jenis Data Rentetan Karakter Unicode
Jenis data | Penerangan | Had yang lebih rendah | Had atas | Ingatan |
---|---|---|---|---|
nchar | Ini adalah rentetan Unicode dengan lebar tetap | 0 aksara | 4000 watak | 2 kali n bait |
nvarchar | Ini adalah rentetan unicode dengan lebar berubah | 0 aksara | 4000 watak | 2 kali n bait + 2 bait |
ntext | Ini adalah rentetan unicode dengan lebar berubah | 0 aksara | 1,073,741,823 char | 2 kali panjang tali |
Pertanyaan Contoh:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'PRINT @Datatype_nChar
Keluaran: Ini adalah Jenis Data nCharacter
Rentetan Perduaan
Kategori ini mengandungi rentetan binari dengan panjang tetap dan berubah-ubah. Jenis Data Rentetan Perduaan
Jenis data | Penerangan | Had yang lebih rendah | Had atas | Ingatan |
---|---|---|---|---|
binari | Ini adalah rentetan binari lebar tetap. Ia menyimpan maksimum 8,000 bait. | 0 bait | 8000 bait | n bait |
varikos | Ini adalah rentetan binari dengan lebar berubah. Ia menyimpan maksimum 8,000 bait | 0 bait | 8000 bait | Panjang sebenar data yang dimasukkan + 2 bait |
imej | Ini adalah rentetan binari dengan lebar berubah. Ia menyimpan maksimum 2GB. | 0 bait | 2,147,483,647 bait |
Pertanyaan Contoh:
DECLARE @Datatype_Binary BINARY(2) = 12;PRINT @Datatype_Binary
Keluaran: 0x000C
Jenis Data Lain
Ini adalah jenis data lain yang berbeza dengan keterangan di bawah-
Jenis data | Penerangan |
---|---|
Kursor | Keluarannya adalah lajur sp_cursor_list dan sp_describe_cursor. Ia mengembalikan nama pemboleh ubah kursor. |
Versi baris | Versi itu menanda baris jadual. |
Hierarkiid | Jenis data ini mewakili kedudukan dalam hierarki |
Pengecam unik | Penukaran dari ungkapan watak. |
Sql_variant | Ia menyimpan nilai Datatype yang disokong oleh pelayan SQL. |
XML | Ia menyimpan data XML dalam lajur. |
Jenis Geometri Spatial | Ia mewakili data dalam sistem koordinat rata. |
Jenis Geografi Spatial | Ia mewakili data dalam sistem koordinat putaran-bumi. |
meja | Ia menyimpan set hasil untuk pemprosesan kemudian. |
Fakta menarik!
- Jenis data CHAR lebih pantas daripada VARCHAR semasa mengambil data.
Ringkasan:
- Setiap lajur dalam jadual ditentukan dengan jenis datanya semasa pembuatan jadual.
- Terdapat enam kategori utama dan satu kategori lain-lain. Lain-lain mempunyai sembilan subkategori jenis data yang tersedia.