Avatar billede steensommer Praktikant
10. oktober 2011 - 23:53 Der er 2 kommentarer og
1 løsning

Fejl i SQL sætning

Hej
Jeg skal lave noget statistik (fra VB .net program) bl.a. med beregning af et antal personers gennemsnitsalder Den alder de havde på dato'en: [Operations dato]. Personens fødselsdato er problemet idet jeg "kun" har CPR. Hvad er der galt her?

                    Dim Command As New SqlCommand("SELECT ROUND(AVG(CAST(DateDiff(year, (Mid(A1; 5; 2); Mid(A1; 3; 2); Left(A1; 2)), [Operations dato]) AS FLOAT)), 1) AS GennemSnit FROM Kartotek WHERE (Left([Patient nr],3)  = ('" & Årstal & "')", Connection)
                    Dim reader As SqlDataReader = Command.ExecuteReader()
                    If reader.Read() Then
                        Stat = Double.Parse(reader("GennemSnit"))
                        MessageBox.Show(Stat, "Aldersgennemsnit af alle RFA i " & Årstal)
                    End If
Avatar billede Slettet bruger
11. oktober 2011 - 00:36 #1
Du skriver ikke hvilken fejl du får, og jeg kan ikke få dine paranteser til at passe. Og afhængig af hvor gamle personerne er, så kan der være problemer med at 00 både kan betyde 1900 og 2000, og 99 kan betyde både 1899 og 1999. Det 7. ciffer i cpr nummeret kan give dig det præcise årstal kombineret med 5. og 6. ciffer:
Hvis 7. ciffer er:
0-3: 1900-1999
4 eller 9: 1937-2036
5-8: 1858-1899 og 2000-2057
Avatar billede steensommer Praktikant
11. oktober 2011 - 00:56 #2
Problemet ligger i konvertering fra cpr til fødselsdato. Følgende kode ´fungerer (i en anden database):

                    Dim Command As New SqlCommand("SELECT ROUND(AVG(CAST(DATEDIFF(year, Fødselsdato, [Op# dato]) AS FLOAT)), 1) AS GennemSnit FROM HCV WHERE Årstal = ('" & Årstal & "') AND (Operation = 'CABG')", Connection)
Avatar billede steensommer Praktikant
29. oktober 2011 - 10:33 #3
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester