---
title: "räkna ut ålder"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/161408-räkna-ut-ålder"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "tanten"
published: "2007-06-12T11:47:51.000Z"
updated: "2007-07-03T19:41:26.000Z"
replies: 4
views: 708
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/161408-räkna-ut-ålder"
---

# räkna ut ålder

## #1 — tanten, 2007-06-12T11:47Z

Tycks aldrig få in detta med år i skallen och får inte till hur jag ska göra med att räkna ut åldern på hästarna.

```php
SELECT stallID, namn, fodd
```

 är grunden till frågan, där fodd innehåller t.ex.  2001-04-12.
Men när det gäller travhästar så räknas åren från 1:a januari även om de fötts i juli.
Borde jag kanske ha en rad för tävlingsålder i tabellen, eller finns svaret i php...
Eller kan man på något sett räkna ut och få ut bägge åldrarna direkt i selecten
använder MySQL5

Permalänk: https://www.webforum.nu/p/161408

## #2 — Travoni, 2007-06-12T12:15Z

```
SELECT stallID, namn, fodd, CAST(DateDiff(now(),fodd)/365.25 AS SIGNED INTEGER) as 'Riktig ålder', CAST(DateDiff(now(),concat(EXTRACT(YEAR FROM fodd),'-01-01'))/365.25 AS SIGNED INTEGER) as Travhästålder
```

Kanske går att lösa smidigare

Permalänk: https://www.webforum.nu/p/1989688

## #3 — tanten, 2007-06-12T14:15Z

Det fungerade väldans bra... Tack så mycket! Sedan gäller det bara för mig att förstå också... 
Du har ett as för mycket i koden om någon skulle vilja använda den till något... 
Tack igen :-)

Permalänk: https://www.webforum.nu/p/1989730

## #4 — Travoni, 2007-06-12T14:25Z

Bra, jag dubblade ett "as"!

CAST(34.4531 AS SIGNED INTEGER) konverterar ett decimaltal till ett heltal. (Det brukar räcka att säga att man är 34 år och inte 34,4531 år... ;) )

DATEDIFF(now(),fodd) / 365.25 Räknar ut skillnaden i dagar ifrån födelsedatumet och "nu" och delar det hela med årets alla dagar(+skottår)

CONCAT(fodd,'-01-01',' är', ' den', ' första', ' januari.')  Slår bara ihop två eller fler värden

EXTRACT(YEAR FROM '2005-05-24') Drar ut året ifrån ett datumvärde

Permalänk: https://www.webforum.nu/p/1989736

## #5 — tanten, 2007-07-03T19:41Z

Nu vet jag inte vad som hänt, för plötsligt så blir alla hästar utom två ett år för gamla. Kan inte heller se något mönster i varför två får rätt ålder. Vad kan ha hänt?

Permalänk: https://www.webforum.nu/p/1997967

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/161408-räkna-ut-ålder
