SQL Telefon Numarası Formatı Düzenleme
1.911 defa okundu
Konu: SQL Fonksiyonları
İçindekiler
Bazı durumlarda gerek uygulama katmanından gerek veri aktarımından kaynaklanan veri tabanına kayıt olan telefon numarası formatı düzgün olmayabilir. Bu durumda MS SQL de bulunan telefon alanın 0555 555 55 55 gibi düzgün bir formatta görünmesi veya güncellemesi için her defasında sorgu yazmak yerine aşağıdaki gibi kullanıcı tanımlı scalar bir fonksiyon hazırlanabilir.
SQL
- CREATE FUNCTION [dbo].[FN_TELEFONFORMAT] (@TELEFONNO CHAR(50))
- RETURNS CHAR(50) AS
- BEGIN
- DECLARE @SONUC CHAR(20)
- DECLARE @UZUNLUK INTEGER
- DECLARE @GIRDI CHAR(50)
- DECLARE @TELNO CHAR(50)
- SET @GIRDI = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE (REPLACE(REPLACE(REPLACE(@TELEFONNO ,'(',''),')',''),'-',''),' ',''),'*',''),'+',''),'[',''),']',''),'\',''),'/',''),'_','')
- SET @UZUNLUK=LEN(@GIRDI)
- IF @UZUNLUK>=10
- BEGIN
- SET @TELNO=RIGHT(RTRIM(@GIRDI),10)
- SET @SONUC='0'+LEFT(@TELNO,3)+' '+SUBSTRING(@TELNO,4,3)+' '+SUBSTRING(@TELNO,7,2) +' '+SUBSTRING(@TELNO,9,2)
- END
- ELSE
- BEGIN
- SET @SONUC=@TELEFONNO
- END
- RETURN @SONUC
- END
- --Fonksiyonun kullanılışı
- SELECT [dbo].[FN_TELEFONFORMAT] ('0-(555)111 11 -11'')
Fonksiyonun sonucu : 0555 111 11 11
Teşekkürler, geri bildiriminiz alındı.