webForumDet fria alternativet

Få ut ålder ur personnummer

Databaser & SQL

1 svar · 653 visningar · startad av Vide

Medlem sedan dec. 19998 577 inlägg
Frågan#1

Hej,

Jag vill använda en kolumn som innehåller personnummer för att få ut dess ålder, jag har kommit fram till denna koden:

SELECT X10, CONVERT(datetime, '19' + LEFT(X10, 6), 112) AS Age

Detta fungerar dock endast på de som är födda under 1900-talet.

Och då inte på alla, när jag t.ex skall konvertera numret '870322' så får jag felmeddelandet:

SQL-Server skrev:

The convertion of a char data type to a datetime data type resulted in an out-of-range datetime value.

Vad beror detta sista på? Man måste ju för böveln få vara född den 22:a Mars 1987... !?

Mvh, Vide

Medlem sedan dec. 19998 577 inlägg
#2

Problemet löst!

Det var inte numret '870322' som var felet, lite längre ned fanns ett nummer bestående av bara nio siffror, vilket självklart resulterade i ett fel. ;)

266 ms totalt · 3 externa anrop · v20260731065814-full.a4a6ad0e
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)