---
title: "Plocka ut årtal från mysql date"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/179926-plocka-ut-årtal-från-mysql-date"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Guldstrand"
published: "2009-08-23T16:20:45.000Z"
updated: "2009-08-29T21:15:39.000Z"
replies: 7
views: 693
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/php/179926-plocka-ut-årtal-från-mysql-date"
---

# Plocka ut årtal från mysql date

## #1 — Guldstrand, 2009-08-23T16:20Z

Hur löser jag det enklast om jag endast vill plocka ut årtal från formen ÅÅÅÅ-MM-DD?
Likaså OM både årtal + månad finns, hur visar jag det?

(Årtal är obligatoriskt, men om även månaden finns, vill jag även plocka ut den.)
Kanske någon funktion?

Tacksam för all hjälp!  :bire

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

## #2 — metalboy, 2009-08-23T16:34Z

Plocka ut årtalet kan du göra med YEAR() direkt i SQL-frågan. Det är en inbyggd funktion i MySQL. Vad menar du med om månaden finns? Utan månad är det ju inte ett giltigt datum.

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

## #3 — Guldstrand, 2009-08-23T16:45Z

Well.. när jag lägger till infon i mysql från ett formulär, så är det ok om man endast kan/vill ange årtal + månad. (Dagen blir då sparad som 00.)

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

## #4 — Guldstrand, 2009-08-24T04:07Z

\*bump\*

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

## #5 — MickeA.com, 2009-08-24T07:53Z

Spara inte dag som "00".. om man inte anger dag, spara den som "01" annars tror jag att det kan bli fel när du ska ta ut värdet och "jobba" med det.

Precis som MetalBoy skrev, om du har *2009-08-24* sparat och ska plocka ut årtal, kör med:

```
SELECT YEAR(my_year_field) AS ar FROM table
```

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

## #6 — SPiN, 2009-08-24T08:06Z

Hur lagras all information? Har du ett fält som datetime i formatet YYYY-MM-DD, eller lagrar du det som en varchar, eller lagrar du år, månad, dag för sig? Hur ser ett fält ut som inte har månad i sig? Hur ser ett fält ut som inte har dag i sig?

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

## #7 — Guldstrand, 2009-08-29T13:19Z

> **[SPiN skrev:](https://www.webforum.nu/p/1478122)**
>
> Hur lagras all information? Har du ett fält som datetime i formatet YYYY-MM-DD, eller lagrar du det som en varchar, eller lagrar du år, månad, dag för sig? Hur ser ett fält ut som inte har månad i sig? Hur ser ett fält ut som inte har dag i sig?

Infon lagras som DATE (XXXX-MM-DD).

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

## #8 — SPiN, 2009-08-29T21:15Z

Kanske går att göra snyggare, men följande bör fungera;

```
select
    if(
        cast(date_format(yourDateField, '%m') as unsigned) < 1, /* Om datumet är 00 */
        date_format(yourDateField, '%Y'), /* Plocka bara ut årtalet */
        date_format(yourDateField, '%Y-%m') /* Annars plockar vi ut både år och datum */
    ) as formattedDateField
from
    dinTabell
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/179926-plocka-ut-årtal-från-mysql-date
