Pengurangan bukan hanya untuk operasi angka! SQL Server punya beberapa fungsi dan operator bawaan untuk membantu pengurangan, baik untuk angka maupun tanggal. Selain itu, tidak seperti saat menghitung dengan pena dan kertas, kita harus selalu memikirkan NULL. Mari langsung masuk ke beberapa contoh.
Memahami Operasi Pengurangan di SQL Server
Operasi pengurangan di SQL Server biasanya digunakan dalam dua situasi - melakukan aritmetika pada data numerik dan memanipulasi nilai datetime. Mengurangkan nilai sering kali berguna saat Anda perlu menghasilkan nilai terhitung langsung di dalam SQL Server.
Pengurangan Dasar
Mari mulai dengan operasi pengurangan sederhana agar konsepnya mudah dipahami. Misalkan kita punya tabel bernama “Orders” yang berisi “TotalAmount” dan “DiscountAmount”.
SELECT TotalAmount, DiscountAmount,
TotalAmount - DiscountAmount AS ActualAmount
FROM Orders;
Pada contoh dasar ini, kita mengurangkan “DiscountAmount” dari “TotalAmount” dan menampilkan hasilnya sebagai “ActualAmount”.
Menggunakan Operasi Pengurangan pada Interval Waktu
Pengurangan juga sering digunakan untuk menghitung selisih antara dua datetime. SQL Server memiliki beberapa tipe tanggal dan waktu: smalldatetime, datetime, datetime2, datetimeoffset. Kita bisa menggunakan fungsi DATEDIFF() untuk pengurangan tanggal.
Contoh:
SELECT OrderID, OrderDate,
DATEDIFF(day, OrderDate, GETDATE()) AS DaysElapsed
FROM Orders;
Perintah ini akan menghitung dan menampilkan jumlah hari yang telah berlalu sejak setiap pesanan dibuat hingga hari ini (GETDATE mengembalikan tanggal hari ini).
Mengagregasi Result Set dengan Pengurangan di SQL Server
Agregasi result set menggunakan pengurangan juga cukup umum di SQL Server. Misalnya, Anda mungkin perlu menjumlahkan total penjualan dalam suatu periode lalu menguranginya dengan total diskon yang diberikan pada periode yang sama.
Contoh:
SELECT
( SELECT SUM(TotalAmount) FROM Orders where OrderDate like '2022-%' ) -
( SELECT SUM(DiscountAmount) FROM Orders where OrderDate like '2022-%' ) as NetSales
Perintah di atas akan menampilkan penjualan bersih untuk tahun 2022 dengan mengurangkan total diskon dari total penjualan.
Menangani NULL
Di SQL Server, pengurangan dengan NULL akan menghasilkan nilai NULL. Penting untuk menangani kasus ini agar tidak muncul NULL tak terduga di hasil Anda, jika Anda lebih suka memperlakukan NULL sama dengan 0. Hal ini tidak selalu tepat, jadi bertindaklah dengan bijak.
SELECT OrderID,
ISNULL(TotalAmount, 0) - ISNULL(DiscountAmount, 0) AS NetAmount
FROM Orders;
Sekarang Anda Jago Pengurangan
Masih ada cara lain untuk mengurangkan nilai secara efektif di SQL Server, jadi teruslah bereksperimen dengan perintah-perintah ini dan cobalah menjelajah lebih jauh sendiri. Setiap query yang Anda buat akan membawa Anda selangkah lebih dekat untuk menguasai SQL Server. Selamat menulis query!
Artikel ini ditulis khusus untuk SQL Server. Jadi, semua perintah dan penjelasan merujuk ke SQL Server. Untuk informasi tentang cara kerja perintah ini di database engine lain, silakan baca dokumentasi resmi database tersebut.
Beekeeper Studio Adalah GUI Database Gratis & Open Source
Tool query & editor SQL terbaik yang pernah saya pakai. Semua yang saya butuhkan untuk mengelola database ada di sini. - ⭐⭐⭐⭐⭐ Mit
Beekeeper Studio cepat, intuitif, dan mudah digunakan. Beekeeper mendukung banyak sekali database, dan berjalan mulus di Windows, Mac, dan Linux.
Apa Kata Pengguna Tentang Beekeeper Studio
"Beekeeper Studio benar-benar menggantikan alur kerja SQL lama saya. Cepat, intuitif, dan membuat bekerja dengan database kembali menyenangkan."
"Saya sudah mencoba banyak GUI database, tapi Beekeeper punya keseimbangan sempurna antara fitur dan kesederhanaan. Langsung jalan."