Butuh Software POS, Distribusi berpengalaman ?

jasa sablon kaos malang

sajuta screen art printing salah satu penyedia jasa sablon kaos satuan /lusinan , sablon plastik /kresek, tas kertas (shopping bag), more info : (WA) 0881036190212, IG : @sajuta.wearhouse

Rabu, 15 Februari 2017

menghitung jumlah hari minggu pada suatu periode di MSSQL

Bagaimana mengetahui jumlah hari libur dalam suatu periode yang ditentukan di MSSQL ?

kasus kali ini,  dalam suatu perusahaan  periode gaji nya dimulai per tanggal 25 dibulan sebelumnya dan berahir di tanggal 24 di bulan berjalan , bagaimana menentukan jumlah hari libur ( minggu )  jika pegawai bebas libur dihari apa saja sebanyak hari minggu dalam periode gaji tersebut ?
sedangkan dalam 1 tahun jumlah hari minggu di 1 periode bisa berbeda dengan periode lainnya

untuk menghitung jumlah hari minggu di MSSQL saya deklarasikan terlebih dahulu periode tanggalmulai dan tanggal akhir kemudian menggunakan fungsi looping, untuk melihat fungsi looping lainnya bisa cek di artikel sebelumnya fungsi looping di sql server

ig : @sajuta_screenprint

-- deklarasikan tanggal awal dan akhir periode
declare @tanggalAwal as datetime
declare @tanggalakhir as datetime

declare @periode as int -- untuk menentukan total hari dalam periode
declare @i int -- untuk angka looping hingga mencapai jumlah hari
declare @total as int total minggu dalam periode tersebut


set @total = 0
set @i = 0
set @tanggalAwal = '2017-01-25'
set @tanggalakhir = '2017-02-24'

set @periode = DATEDIFF(dd,@tanggalAwal,@tanggalAkhir)

while @i <= @periode
begin
if DATENAME(WEEKDAY,(dateadd(dd,@i,@tanggalAwal))) in (N'Sunday')
select @total = @total + 1
set @i = @i + 1
end

print @total

hasil nya seperti pada gambar berikut :



dari periode 25 januari 2017 s/d 24 februari 2017
terdapat 4 hari minggu
bagaimana untuk periode 25 maret 2017 hingga 24 april 2017 yang jumlah hari minggu nya ada 5 jika dihitung manual ?

silahkan coba sendiri...


Selasa, 24 Januari 2017

UPDATE tabel dengan SELECT di SQL SERVER

Update tabel berdasarkan kondisi di tabel lain di SQL Server

Kasus kali ini bagaimana menggunakan fungsi UPDATE dari sebuah tabel yang kondisinya ditentukan dari tabel lainnya

ig : @sajuta_screenprint

contoh yang saya pakai mengupdate status beli di tabel pelanggan hanya pelangggan yang memiliki pembelian saja di tabel pembelian

contoh tabel 1 : pelanggan
dengan field : no, id_pelanggan,nama,status_beli


tabel 2 : pembelian
dengan field : no,id_nota, pelanggan, jml_beli


yang diharapkan, di tabel pelanggan, status_beli adalah "Ya" jika bagi pelangan yang memiliki pembelian.

query yang digunakan :

UPDATE tabel_A
SET tabel_A.kolom = hasil
FROM tabel_diUpddate as Tabel A
INNER JOIN tabel_B
ON tabel_B.kolomX = tabel_diUpdate.kolomX

maka

UPDATE 
PL
SET 
status_beli ='Ya'
FROM
pelanggan AS PL
INNER JOIN pembelian AS PB
ON PB.pelanggan = PL.id_pelanggan




Hasilnya, pegawai yang memiliki pembelian saja yang status beli nya menjadi 'Ya'

Kamis, 19 Januari 2017

Fungsi CASE di SQL Server

Merubah nilai dari suatu kolom berdasarkan kondisi di kolom lain

Contoh kasus nya misalkan kita memiliki tabel SimpananPegawai
tabel ini berisi data simpanan uang milik pegawai baik kredit atau debit
dengan field-field seperti ini :


Dari tabel di atas nilai simpanan baik yang debit atau kredit bernilai positif
sedangkan data yang akan ditampilkan adalah
berapa total saldo simpanan pegawai nya
ig : @sajuta_screenprint

untuk merubah nilai simpanan agar menjadi pengurang jika nilai kode simpanan nya adalah "Kredit"
saya gunakan fungsi CASE

CASE kolom kriteria nya
    WHEN nilai kriterianya THEN kolom yang dirubah
END

Disini saya tampilkan semua field dan field hasil perubahan field Simpanan

select *,
CASE SP.kodeSimpanan
WHEN 'debit' THEN Simpanan * 1
WHEN 'kredit' THEN Simpanan * (-1)
END AS Simpanan1
from SimpananPegawai SP

Hasil nya seperti berikut :


Untuk menjumlah simpanan pegawai , dan yang saya tampilkan hanya nama pegawai dan saldo simpanan nya saja
maka saya tambahkan DISTINCT --untuk menampilkan 1 dari duplikat record
SUM -- untuk menjumlah simpanan

select distinct SP.pegawai,
SUM (
CASE SP.kodeSimpanan
WHEN 'debit' THEN Simpanan * 1
WHEN 'kredit' THEN Simpanan * (-1)
END) AS Simpanan1
from SimpananPegawai SP
group by SP.pegawai

maka data yang akan ditampilkan seperti berikut :



Jika ada langkah yang lebih sederhana, silahkan di koreksi..






Selasa, 17 Januari 2017

format tanggal di SQL Server


Berbagai Format Tanggal di SQL Server 2008


ig : @sajuta_screenprint

Berikut tabel format tanggal standard SQL server 2008

Date FormatStandard SQL Statement Sample Output
MM/DD/YY USA SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 1) AS [MM/DD/YY] 06/08/11
MM/DD/YYYY USA SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 101) AS [MM/DD/YYYY] 06/08/2011
YY.MM.DD ANSI SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 2) AS [YY.MM.DD] 11.06.08
YYYY.MM.DD ANSI SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 102) AS [YYYY.MM.DD] 2011.06.08
DD/MM/YY British/French SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 3) AS [DD/MM/YY] 08/06/11
DD/MM/YYYY British/French SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 103) AS [DD/MM/YYYY] 08/06/2011
DD.MM.YY German SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 4) AS [DD.MM.YY] 08.06.11
DD.MM.YYYY German SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 104) AS [DD.MM.YYYY] 08.06.2011
DD-MM-YY Italian SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 5) AS [DD-MM-YY] 08-06-11
DD-MM-YYYY Italian SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 105) AS [DD-MM-YYYY] 08-06-2011
DD Mon YY  - SELECT CONVERT(VARCHAR(9), SYSDATETIME(), 6) AS [DD MON YY] 08 Jun 11
DD Mon YYYY  - SELECT CONVERT(VARCHAR(11), SYSDATETIME(), 106) AS [DD MON YYYY] 08 Jun 2011
Mon DD, YY  - SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 7) AS [Mon DD, YY] Jun 08, 11
Mon DD, YYYY  - SELECT CONVERT(VARCHAR(12), SYSDATETIME(), 107) AS [Mon DD, YYYY] Jun 08, 2011
HH:MM:SS - SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 8)
SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 108) 13:30:45
Mon D YYYY H:MI:SS.NNNNNNNAM (or PM)  Default +
nanoseconds SELECT CONVERT(VARCHAR(26), SYSDATETIME(), 9)
SELECT CONVERT(VARCHAR(26), SYSDATETIME(), 109) Jun 8 2011 1:30:45.9428675PM 1
MM-DD-YY USA SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 10) AS [MM-DD-YY] 06-08-11
MM-DD-YYYY USA SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 110) AS [MM-DD-YYYY] 06-08-2011
YY/MM/DD - SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 11) AS [YY/MM/DD] 11/06/08
YYYY/MM/DD - SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 111) AS [YYYY/MM/DD] 2011/06/08
YYMMDD ISO SELECT CONVERT(VARCHAR(6), SYSDATETIME(), 12) AS [YYMMDD] 110608
YYYYMMDD ISO SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 112) AS [YYYYMMDD] 20110608
DD Mon YYYY HH:MM:SS.NNNNNNN(24h)  Europe default + nanoseconds SELECT CONVERT(VARCHAR(30), SYSDATETIME(), 13)
SELECT CONVERT(VARCHAR(30), SYSDATETIME(), 113) 08 Jun 2011 13:30:45.94286751
HH:MI:SS.NNNNNNN(24H) - SELECT CONVERT(VARCHAR(16), SYSDATETIME(), 14) AS [HH:MI:SS:MMM(24H)]
SELECT CONVERT(VARCHAR(16), SYSDATETIME(), 114) AS [HH:MI:SS:MMM(24H)] 13:30:45.9428675
YYYY-MM-DD HH:MI:SS(24h) ODBC Canonical SELECT CONVERT(VARCHAR(19), SYSDATETIME(), 120) 2011-06-08 13:30:45
YYYY-MM-DD HH:MI:SS.NNNNNNN(24h) ODBC Canonical
(with nanoseconds) SELECT CONVERT(VARCHAR(23), SYSDATETIME(), 121) 2011-06-08 13:30:45.9428675
MM/DD/YY HH:MI:SS AM - SELECT CONVERT(VARCHAR(20), SYSDATETIME(), 22) 06/08/11 1:30:45 PM
YYYY-MM-DD - SELECT CONVERT(VARCHAR(26), SYSDATETIME(), 23) 2011-06-09
HH:MI:SS (24h) - SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 24) 13:30:45
YYYY-MM-DD HH:MI:SS.NNNNNNN - SELECT CONVERT(VARCHAR(26), SYSDATETIME(), 25) 2011-06-08 13:30:45.9428675
YYYY-MM-DDTHH:MM:SS:NNNNNNN ISO8601 SELECT CONVERT(VARCHAR(27), SYSDATETIME(), 126) 2011-06-08T13:30:45.9428675
DD Mon YYYY HH:MI:SS.NNNNNNNAM 1 Kuwaiti SELECT CONVERT(VARCHAR(26), SYSDATETIME(), 130) 08 Jun 2011 1:30:45.9428675PM
DD/MM/YYYY HH:MI:SS.NNNNNNNAM Kuwaiti SELECT CONVERT(VARCHAR(25), SYSDATETIME(), 131) 08/06/2011 1:30:45.9428675PM

 

Blogger news

Blogroll

Diberdayakan oleh Blogger.