10. oktober 2011 - 23:53Der 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
Bedre, hurtigere, billigere. Det er ofte de gevinster, virksomheder stilles i udsigt, når de investerer i nye teknologier.
6. januar 2025
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
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)
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.