Formatare IBAN in grupuri de x caractere cu delimitator variabil

Configurare noua (How To)

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

Tip solutie

Permanent

Voteaza

(18 din 51 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?