Apa itu Datatype?
Jenis data didefinisikan sebagai jenis data yang dapat disimpan oleh setiap kolom atau variabel di MS SQL Server.
Saat membuat tabel atau variabel apa pun, selain menentukan namanya, Anda juga mengatur Jenis Data yang akan disimpannya.
Cara menggunakan tipe data MS SQL
- Anda perlu menentukan terlebih dahulu, jenis data yang dapat disimpan oleh kolom atau variabel. Menentukan tipe data juga membatasi pengguna untuk memasukkan data yang tidak diharapkan atau tidak valid.
- Anda dapat menggunakan memori secara efisien dengan menetapkan tipe data yang sesuai ke variabel atau kolom yang akan mengalokasikan hanya jumlah memori sistem yang diperlukan untuk data kolom masing-masing.
- MS SQL menawarkan kategori luas dari tipe data sesuai kebutuhan pengguna. Seperti Tanggal, gambar biner, dll.
Dalam tutorial ini, Anda akan mempelajari:
- Apa itu Datatype?
- Cara menggunakan tipe data MS SQL
- Mengapa menggunakan DataTypes?
- Angka Tepat
- Perkiraan Numerik
- Tanggal dan waktu
- String Karakter
- String Karakter Unicode
- String Biner
- Jenis data lainnya
Mengapa menggunakan DataTypes?
Mari, ambil contoh halaman Pendaftaran sederhana dari aplikasi situs web. Tiga bidang masukan adalah Nama Depan, Nama Belakang & Nomor Kontak.
Di sini kita harus mencatatnya secara real time:
- "Nama Depan / Belakang" akan selalu dalam abjad .
- "Kontak" akan selalu berupa angka .
- Dari gambar di atas, layak untuk mendefinisikan "Nama Depan / Belakang" sebagai karakter dan " Kontak" sebagai bilangan bulat .
Terbukti bahwa dalam aplikasi apa pun, semua bidang memiliki satu atau jenis data lainnya. Misalnya numerik, abjad, tanggal, dan masih banyak lagi.
Juga, perhatikan bahwa tipe data yang berbeda memiliki kebutuhan memori yang berbeda. Oleh karena itu, lebih masuk akal untuk menentukan kolom atau variabel dengan tipe data yang akan disimpannya untuk penggunaan memori yang efisien.
Tipe data tersedia di MS SQL
Server MS SQL mendukung kategori tipe Data berikut ini:
- Numerik yang tepat
- Perkiraan numerik
- Tanggal dan waktu
- String karakter
- String karakter unicode
- String biner
- Tipe data lainnya
Angka Tepat
Numerik tepat memiliki sembilan tipe sub-tipe data. Tipe Data Numerik Tepat
Tipe data | Deskripsi | Batasan yang lebih rendah | Batas atas | Penyimpanan |
---|---|---|---|---|
bigint | Ini menyimpan bilangan bulat dalam kisaran yang diberikan | −2 63 (−9.223.372, 036.854.775.808) | 2 63−1 (−9.223.372, 036.854.775.807) | 8 byte |
int | Ini menyimpan bilangan bulat dalam kisaran yang diberikan | −2 31 (−2.147, 483.648) | 2 31−1 (−2.147, 483.647) | 4 byte |
smallint | Ini menyimpan bilangan bulat dalam kisaran yang diberikan | −2 15 (−32.767) | 2 15 (−32.768) | 2 byte |
tinyint | Ini menyimpan bilangan bulat dalam kisaran yang diberikan | 0 | 255 | 1 byte |
sedikit | Ini bisa mengambil nilai 0, 1, atau NULL. | 0 | 1 | Kolom 1 byte / 8bit |
desimal | Digunakan untuk skala dan angka presisi tetap | −10 38 + 1 | 10 381−1 | 5 hingga 17 byte |
numerik | Digunakan untuk skala dan angka presisi tetap | −10 38 + 1 | 10 381−1 | 5 hingga 17 byte |
uang | Data moneter yang digunakan | −922.337, 203, 685.477.5808 | +922,337, 203, 685,477.5807 | 8 byte |
uang kecil | Data moneter yang digunakan | −214.478,3648 | +214.478.3647 | 4 byte |
Contoh:
Pertanyaan:
DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int
Hasil: 2
Sintaks: Desimal (P, S)
Sini,
- P adalah presisi
- S adalah skala
Pertanyaan:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31PRINT @Datatype_Decimal
Keluaran: 2.31
Perkiraan Numerik
Kategori Approximate Numeric mencakup floating point dan nilai riil. Mereka banyak digunakan dalam perhitungan ilmiah. Perkiraan Jenis Data Numerik
Tipe data | Deskripsi | Batasan yang lebih rendah | Batas atas | Penyimpanan | Presisi |
---|---|---|---|---|---|
float (n) | Digunakan untuk angka presisi mengambang | −1,79E + 308 | 1,79E + 308 | Tergantung pada nilai n | 7 Digit |
nyata | Digunakan untuk angka presisi mengambang | −3,40E + 38 | 3.40E + 38 | 4 byte | 15 Digit |
Syntax: FLOAT [(n)]
Di sini, n adalah jumlah bit yang digunakan untuk menyimpan mantissa dari bilangan pelampung dalam notasi ilmiah. Secara default, nilai n adalah 53.
Ketika pengguna mendefinisikan tipe data seperti float, n harus bernilai antara 1 dan 53.
SQL Server memperlakukan n sebagai salah satu dari dua kemungkinan nilai. Jika 1 <= n <= 24, n diperlakukan sebagai 24. Jika 25 <= n <= 53, n diperlakukan sebagai 53.
Contoh Query:
DECLARE @Datatype_Float FLOAT(24) = 22.1234PRINT @Datatype_Float
Keluaran: 22.1234
Tanggal dan waktu
Ini menyimpan data tipe Tanggal dan waktu. Jenis Data Tanggal dan Waktu
Tipe data | Deskripsi | Ukuran penyimpanan | Ketepatan | Kisaran Bawah | Kisaran Atas |
---|---|---|---|---|---|
Tanggal Waktu | Digunakan untuk menentukan tanggal dan waktu dari 1 Januari 1753 hingga 31 Desember 9999. Akurasi ini 3,33 milidetik. | 8 byte | Dibulatkan ke kelipatan .000, .003, .007 | 1753-01-01 | 9999-12-31 |
smalldatetime | Digunakan untuk menentukan tanggal dan waktu dari 1 Januari 0001 hingga 31 Desember 9999. Ini memiliki akurasi 100 nanodetik | 4 byte, tetap | 1 menit | 1900-01-01 | 2079-06-06 |
tanggal | Digunakan untuk menyimpan hanya tanggal dari 1 Januari 0001 hingga 31 Desember 9999 | 3 byte, tetap | 1 hari | 0001-01-01 | 9999-12-31 |
waktu | Digunakan untuk menyimpan hanya nilai waktu saja dengan akurasi 100 nanodetik. | 5 byte | 100 nanodetik | 00: 00: 00.0000000 | 23: 59: 59,9999999 |
datetimeoffset | Mirip dengan datatime tetapi memiliki offset zona waktu | 10 byte | 100 nanodetik | 0001-01-01 | 9999-12-31 |
datetime2 | Digunakan untuk menentukan tanggal dan waktu dari 1 Januari 0001 hingga 31 Desember 9999 | 6 byte | 100 nanodetik | 0001-01-01 | 9999-12-31 |
Contoh Query:
DECLARE @Datatype_Date DATE = '2030-01-01'PRINT @Datatype_Date
Keluaran: '2030-01-01'
String Karakter
Kategori ini terkait dengan tipe karakter. Ini memungkinkan pengguna untuk menentukan tipe data dari karakter yang dapat memiliki panjang tetap dan variabel. Ini memiliki empat jenis tipe data. Tipe Data String Karakter
Tipe data | Deskripsi | Batasan yang lebih rendah | Batas atas | Penyimpanan |
---|---|---|---|---|
arang | Ini adalah string karakter dengan lebar tetap. Ini menyimpan maksimal 8.000 karakter. | 0 karakter | 8000 karakter | n byte |
varchar.dll | Ini adalah string karakter dengan lebar variabel | 0 karakter | 8000 karakter | n byte + 2 byte |
varchar (maks) | Ini adalah string karakter dengan lebar variabel. Ini menyimpan maksimal 1.073.741.824 karakter. | 0 karakter | 2 31 karakter | n byte + 2 byte |
teks | Ini adalah string karakter dengan lebar variabel. Ini menyimpan data teks maksimal 2GB. | 0 karakter | 2.147.483.647 karakter | n byte + 4 byte |
Contoh Query:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'PRINT @Datatype_Char
Output: Ini adalah Character Datatype
String Karakter Unicode
Kategori ini menyimpan rangkaian lengkap karakter Unicode yang menggunakan pengkodean karakter UTF-16. Tipe Data String Karakter Unicode
Tipe data | Deskripsi | Batasan yang lebih rendah | Batas atas | Penyimpanan |
---|---|---|---|---|
nchar | Ini adalah string Unicode dengan lebar tetap | 0 karakter | 4000 karakter | 2 kali n byte |
nvarchar.dll | Ini adalah string unicode dengan lebar variabel | 0 karakter | 4000 karakter | 2 kali n byte + 2 byte |
ntext | Ini adalah string unicode dengan lebar variabel | 0 karakter | 1.073.741.823 karakter | 2 kali panjang senar |
Contoh Query:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'PRINT @Datatype_nChar
Output: Ini adalah nCharacter Datatype
String Biner
Kategori ini berisi string biner dengan panjang tetap dan variabel. Tipe Data String Biner
Tipe data | Deskripsi | Batasan yang lebih rendah | Batas atas | Penyimpanan |
---|---|---|---|---|
biner | Ini adalah string biner dengan lebar tetap. Ini menyimpan maksimal 8.000 byte. | 0 byte | 8000 byte | n byte |
varbinary | Ini adalah string biner dengan lebar variabel. Ini menyimpan maksimal 8.000 byte | 0 byte | 8000 byte | Panjang aktual data yang dimasukkan + 2 byte |
gambar | Ini adalah string biner dengan lebar variabel. Ini menyimpan maksimal 2GB. | 0 byte | 2.147.483.647 byte |
Contoh Query:
DECLARE @Datatype_Binary BINARY(2) = 12;PRINT @Datatype_Binary
Keluaran: 0x000C
Jenis data lainnya
Ini adalah tipe data lain yang berbeda dengan deskripsi di bawah ini-
Tipe data | Deskripsi |
---|---|
Kursor | Outputnya adalah kolom sp_cursor_list dan sp_describe_cursor. Ini mengembalikan nama variabel kursor. |
Versi baris | Ini versi stempel baris tabel. |
Hierarki | Jenis data ini mewakili posisi dalam hierarki |
Pengenal unik | Konversi dari ekspresi karakter. |
Sql_variant | Ini menyimpan nilai Datatypes yang didukung SQL server. |
XML | Ini menyimpan data XML dalam kolom. |
Jenis Geometri Spasial | Ini mewakili data dalam sistem koordinat datar. |
Jenis Geografi Spasial | Ini mewakili data dalam sistem koordinat bumi bulat. |
meja | Ini menyimpan set hasil untuk diproses nanti. |
Fakta Menarik!
- Tipe data CHAR lebih cepat daripada VARCHAR saat mengambil data.
Ringkasan:
- Setiap kolom dalam tabel ditentukan dengan tipe datanya selama pembuatan tabel.
- Ada enam kategori utama dan satu kategori lain-lain. Lain-lain memiliki sembilan subkategori tipe data yang tersedia.