Minggu, 10 April 2016

Bagaimana mem-format angka '000' di SQL Server / How to Format Number "0000" in SQL Server

Kasus :
Menampilkan angka dalam format 001,002,003...999.

Solving :
Di VB atau bahasa pemrograman lainnya kita bisa lakukan dengan mudah karena memang sudah ada function yang menangani hal tersebut, akan tetapi di SQL Server setau saya belum ada.

Dari hasil googling dapat solusi di website ini

https://bytes.com/topic/sql-server/answers/600927-sql-format-function-0000-a jawaban dari Plamne RatchevRatchev memberikan solusi sbb,

SELECT RIGHT('0000' + CAST(1 as varchar), 4)
atau,
SELECT RIGHT('0000' + CAST(code as varchar), 4) FROM Employes

setelah dicoba, ternyata ok. 
Agar lebih memudahkan dan biar ga lupa lagi jika diperlukan maka kemudian solusi tersebut saya buatkan functionnya di SQL, dengan dibuatkan functionnya maka setidaknya penulisannya bisa lebih sederhana. berikut ini script functionnya,

CREATE FUNCTION FORMATANGKA(@ANGKA2FORMAT INT
       , @BTKFORMAT VARCHAR(64)
       , @PJGFORMAT SMALLINT)
RETURNS VARCHAR(64) AS 
BEGIN
  RETURN RIGHT(@BTKFORMAT + CAST(@ANGKA2FORMAT as varchar), LEN(@BTKFORMAT))

END


dan berikut cara penggunaannya,

SELECT dbo.FORMATANGKA(3,'00')

Bisakah digunakan untuk column dari table? sepanjang column tersebut bertipe data number dipastikan bisa.

Selamat mencoba dan semoga bermanfaat...