İçeriğe geç

SQL Telefon Numarası Formatı Düzenleme

1.911 defa okundu

Konu: SQL Fonksiyonları

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
  1. CREATE FUNCTION [dbo].[FN_TELEFONFORMAT] (@TELEFONNO CHAR(50))
  2. RETURNS CHAR(50) AS
  3. BEGIN
  4. DECLARE @SONUC CHAR(20)
  5. DECLARE @UZUNLUK INTEGER
  6. DECLARE @GIRDI CHAR(50)
  7. DECLARE @TELNO CHAR(50)
  8. SET @GIRDI = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE (REPLACE(REPLACE(REPLACE(@TELEFONNO ,'(',''),')',''),'-',''),' ',''),'*',''),'+',''),'[',''),']',''),'\',''),'/',''),'_','')
  9. SET @UZUNLUK=LEN(@GIRDI)
  10. IF @UZUNLUK>=10
  11. BEGIN
  12. SET @TELNO=RIGHT(RTRIM(@GIRDI),10)
  13. SET @SONUC='0'+LEFT(@TELNO,3)+' '+SUBSTRING(@TELNO,4,3)+' '+SUBSTRING(@TELNO,7,2) +' '+SUBSTRING(@TELNO,9,2)
  14. END
  15. ELSE
  16. BEGIN
  17. SET @SONUC=@TELEFONNO
  18. END
  19. RETURN @SONUC
  20. END
  21. --Fonksiyonun kullanılışı
  22. SELECT [dbo].[FN_TELEFONFORMAT] ('0-(555)111 11 -11'')

Fonksiyonun sonucu : 0555 111 11 11

Bu yazı işinize yaradı mı?

SQL Fonksiyonları konusundaki diğer yazılar

SQL Fonksiyonları: 13 yazının tümü →

WhatsApp'ta paylaş

İlgili Yazılar