SQL Server’da Kolon İçindeki Sıfırları Temizleyen Prosedür

Herkese merhaba,

Bu yazıda SQL Server’da kolon içindeki sıfırları temizleyen prosedür hakkında bilgi vereceğim.

Aslında bu bir prosedür değildi. Konu ile ilgili araştırma yaparken kod üzerinde birçok değişiklik yaparak kodu dinamik hale getirdim. Benzer bir örneğe internette rastlamadım. Alanında tektir. Daha da geliştirilebilir.

Prosedür parametre olarak tablo adı ve kolon adı almakta. Yani bu iki parametreyi doğru verdiğiniz takdirde prosedür çalışacaktır. Kodları aşağıda görmektesiniz.

--Tablo oluşturulması

CREATE TABLE Sayilar(
Sayi VARCHAR(10)
)
GO

--Tabloya veri eklenmesi

INSERT INTO Sayilar
(
    Sayi
)
VALUES
('001'),
('002'),
('003'),
('004'),
('005'),
('006'),
('007'),
('008'),
('009'),
('010'),
('011'),
('012'),
('013');


--Tablonun kontrolü

SELECT * FROM Sayilar 

GO
 

--Sıfırları silen prosedür


CREATE  PROC SifirlariSilenProsedur
(   @TabloAdi NVARCHAR(50),
    @KolonAdi NVARCHAR(50)
)
AS
BEGIN
    IF COL_LENGTH(@TabloAdi, @KolonAdi) IS NOT NULL
    BEGIN

	DECLARE @SQLUPDATECUMLECIGI VARCHAR(200)
	SET @SQLUPDATECUMLECIGI='UPDATE ' + @TabloAdi+' SET ' + @KolonAdi +'=SUBSTRING(' +@KolonAdi + ', PATINDEX(''%[^0]%'', '+ @KolonAdi +' ), 10);'
	--PRINT @SQLUPDATECUMLECIGI
	EXEC (@SQLUPDATECUMLECIGI)
	PRINT 'İşlem başarıyla tamamlandı.'
    END;
    ELSE
    BEGIN
        PRINT 'Tabloda böyle bir kolon adı mevcut değil. Lütfen kontrol edin!!!';
    END;
END;


--Prosedürün kullanımı

EXEC SifirlariSilenProsedur 'Sayilar','Sayidddd'

Prosedürü oluşturup çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.

SQL Server’da Kolon İçindeki Sıfırları Temizleyen Prosedür

Görüldüğü üzere kolon içinde Sayi sütunu içinde bulunan değerlerin başında sıfır vardı. Bunların hepsini düzgün bir biçimde kaldırmış oldu.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

480 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!