Extragere data nastere din CNP

Rezolvare problema (Fix IT)

Situatie

Ne lovim deseori de situatia de a avea un raport cu data de nastere a clientilor dar sa nu avem o coloana cu aceasta data, ci doar o coloana cu cnp. Ca atare suntem nevoiti sa extragem data de nastere din cnp.

Pt a usura rezolvarea problemei am scris o functie care face acest lucru.

Solutie

CREATE FUNCTION [dbo].[BDGetDataNasteriiFromCNP]
(
@CNP nvarchar(255)
)
RETURNS datetime
AS
BEGIN

DECLARE @returnVal datetime
DECLARE @Sex int
DECLARE @An varchar(10)
DECLARE @Luna varchar(10)
DECLARE @Zi varchar(10)

select @Sex = substring(@CNP, 1, 1),
@An = substring(@CNP, 2, 2),
@Luna = substring(@CNP, 4, 2),
@Zi = substring(@CNP, 6, 2)

if @Sex in (1,2,7)
begin
set @An = ’19’+ @An
end
else
begin
set @An = ’20’+@An
end

select @returnVal = convert(datetime, @An+@Luna+@Zi, 112)

RETURN @returnVal

END

Tip solutie

Permanent

Voteaza

(51 din 103 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?