Situatie
Am creat o functie care parseaza un string de caractere si il formateaza impartindu-l in grupuri de x caractere, iar aceste grupuri sunt delimitate de un string la alegere.
Este foarte folositoare la formatarea de IBAN-uri, pt ca diferite rapoarte cer formatarea IBAN-urilor in diferite feluri, si pentru a nu sta de fiecare data sa facem update in tabele fizice sau temporare, putem sa folosim functia de mai jos.
Solutie
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
— =============================================
— Description: Se parseaza IBANul si se grupeaza in @grupare caractere intre care se insereaza @caratere caractere
— select [dbo].[BD_Spatiere_IBAN] (‘RO74BRDE1234567812345678’, ‘ ‘, 4)
— =============================================
ALTER FUNCTION [dbo].[BD_Spatiere_IBAN]
(
@iban varchar(24),
@caractere varchar(10),
@grupare smallint
)
RETURNS varchar(40)
AS
BEGIN
DECLARE @ibanSpatiat varchar(50)
DECLARE @numarGrupari smallint
SET @ibanSpatiat = @iban
SET @numarGrupari = len(@iban)/@grupare -1
while
@numarGrupari > 0
BEGIN
SET @ibanSpatiat = STUFF(@ibanSpatiat,@numarGrupari*@grupare+1,0,@caractere)
SET @numarGrupari = @numarGrupari-1
END
RETURN @ibanSpatiat
END
Leave A Comment?