Berikut adalah cara membuat penomoran yang biasa digunakan untuk transaksi. Dalam kasus ini kita akan menggunakan tanggal dan 4 digit counter di belakangnya. Dalam contoh kali ini, kita akan menggunakan dummy table yang akan dibentuk didalam query SQL.
Langkah 1 : Membuat atau mendeclare tabel dummy terlebih dahulu seperti contoh berikut :
Declare @tblDummy table (TrxID varchar(10) , TrxNo int identity(1,1) , NamaBarang varchar(50) , JmlBeli smallint , HargaItem money)
Penjelasan : Pada kolom TrxNo dibuat automaticly counter digit ditambah 1 pada setiap record.
Langkah 2 : Insert data dummy ke dalam tabel dummy
insert into @tblDummy (TrxID, NamaBarang, JmlBeli, HargaItem)
values (REPLACE(CONVERT(VARCHAR(10), GETDATE(), 103), '/', ''), 'Penggaris', 2, 2600 )
insert into @tblDummy (TrxID, NamaBarang, JmlBeli, HargaItem)
values (REPLACE(CONVERT(VARCHAR(10), GETDATE(), 103), '/', ''), 'Buku', 5, 5400)
insert into @tblDummy (TrxID, NamaBarang, JmlBeli, HargaItem)
values (REPLACE(CONVERT(VARCHAR(10), GETDATE(), 103), '/', ''), 'Pencil', 8, 1250 )
insert into @tblDummy (TrxID, NamaBarang, JmlBeli, HargaItem)
values (REPLACE(CONVERT(V ARCHAR(10), GETDATE(), 103), '/', ''), 'Tipe-X', 2, 6000)
Penjelasan :
REPLACE(CONVERT(VARCHAR(10), GETDATE(), 103), '/', '')
- Fungsi Replace digunakan untuk mengganti karakter baru sesuai dengan yang kita inginkan. Contoh pada format tanggal yang memiliki simbol " / " ,contoh 26/06/2015 dirubah menjadi "26062015"
- Fungsi Convert menjadi Varchar(10), adalah untuk mengubah format data menjadi String dengan panjang karakter 10 digit.
- Fungsi GetDate dan 103 : Getdate berfungsi untuk mengambil tanggal sekarang, sedangkan kode 103 adalah format data tanggal yang kita inginkan. Temukan format data tanggal lebih banyak di sini
Langkah 3 : Tampilkan Hasil untuk nomor transaksi dan total pembelian masing-masing barang
Select TrxID +''+ right('0000'+cast(TrxNo as varchar(4)),4) as TransNo
, NamaBarang
, JmlBeli
, HargaItem
, (JmlBeli * HargaItem) as TotalBeli
FROM @tblDummy
Penjelasan :
TrxID +''+ right('0000'+cast(TrxNo as varchar(4)),4) as TransNo
- Fungsi +' '+ adalah untuk menggabungkan 2 kolom TrxID dengan kolom hasil cast dari counter trxNo yang didapatkan dari system.
- Fungsi right('0000' + cast(TrxNo as varchar(4)),4), digunakan untuk menambahkan digit 0 sebelum hasil counter sebanyak 4 digit dengan cara ditambahkan mulai dari kanan digit.
Sehingga output yang dihasilkan dari No.transaksi adalah : 270620150001, 270620150002, 270620150003, 270620150004

