---
title: "Visa dagens födelsedagar?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/180476-visa-dagens-födelsedagar"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Guldstrand"
published: "2009-09-29T10:12:04.000Z"
updated: "2009-09-29T11:30:35.000Z"
replies: 13
views: 911
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/180476-visa-dagens-födelsedagar"
---

# Visa dagens födelsedagar?

## #1 — Guldstrand, 2009-09-29T10:12Z

Hur löser jag det enklast om jag vill visa dagens födelsedagar, samt kommande födelsedagar, (de närmaste 3 dagarna)?
*Datumet är sparat som DATE (XXXX-MM-DD).*

Tacksam för all hjälp.

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

## #2 — StefanBergfeldt, 2009-09-29T10:26Z

WHERE födelsedag BETWEEN Date(Now()) AND DateAdd('d', 3, Date(Now())

Skulle jag tro. Om det är T-SQL. Är det MySQL är det Current_Timestamp() istället för Now()

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

## #3 — Guldstrand, 2009-09-29T10:29Z

> **[StefanBergfeldt skrev:](https://www.webforum.nu/p/1482321)**
>
> Om det är T-SQL. Är det MySQL är det Current_Timestamp() istället för Now()

Det är MySQL.

Då blir det alltså:

```php
WHERE födelsedag BETWEEN Date(Current_Timestamp()) AND DateAdd('d', 3, Date(Current_Timestamp())
```

Har jag förstått rätt?

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

## #4 — MickeA.com, 2009-09-29T10:48Z

> **[Guldstrand skrev:](https://www.webforum.nu/p/1482322)**
>
> Det är MySQL.
> 
> Då blir det alltså:
>
>
> ```php
> WHERE födelsedag BETWEEN Date(Current_Timestamp()) AND DateAdd('d', 3, Date(Current_Timestamp())
> ```
>
> 
> Har jag förstått rätt?

Har du testat?

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

## #5 — Guldstrand, 2009-09-29T10:54Z

> **[MickeA.com skrev:](https://www.webforum.nu/p/1482324)**
>
> Har du testat?

Ja, fick följande:

> You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Testade med detta:

```php
$res = mysql_query("SELECT namn, fodd FROM personer WHERE fodd BETWEEN Date(Current_Timestamp()) AND DateAdd('d', 3, Date(Current_Timestamp())")
```

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

## #6 — metalboy, 2009-09-29T11:02Z

DateAdd finns inte i MySQL, däremot finns DATE_ADD.

Testa med

```
... BETWEEN DATE(NOW()) AND DATE_ADD(DATE(NOW()), INTERVAL 3 DAY)
```

(NOW() finns i MySQL)

<http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add>

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

## #7 — MickeA.com, 2009-09-29T11:03Z

Testa det här istället:

```php
$res = mysql_query("SELECT namn, fodd FROM personer WHERE fodd BETWEEN Date(CURRENT_TIMESTAMP()) AND DateAdd('d', 3, Date(CURRENT_TIMESTAMP())")[B];[/B]
```

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

## #8 — MickeA.com, 2009-09-29T11:03Z

Precis, det också! Dessutom saknade du ";" i slutet på raden, men det ger ju ett PHP fel och har inget med MySQL att göra.

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

## #9 — Guldstrand, 2009-09-29T11:13Z

> **[metalboy skrev:](https://www.webforum.nu/p/1482327)**
>
> DateAdd finns inte i MySQL, däremot finns DATE_ADD.
> 
> Testa med
>
>
> ```
> ... BETWEEN DATE(NOW()) AND DATE_ADD(DATE(NOW()), INTERVAL 3 DAY)
> ```
>
> 
> (NOW() finns i MySQL)
> 
> <http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add>

Hmm! Inget hämtas från databasen.

Har detta:

```php
	$res = mysql_query("SELECT namn, fodd FROM personer WHERE fodd BETWEEN DATE(NOW()) AND DATE_ADD(DATE(NOW()), INTERVAL 3 DAY)") or die(mysql_error());
	while ($arr = mysql_fetch_assoc($res))
{ 
	print("$arr[namn]<br />"); 
}
```

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

## #10 — StefanBergfeldt, 2009-09-29T11:13Z

Ah, just ja, så var det...

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

## #11 — MickeA.com, 2009-09-29T11:14Z

För att utesluta vissa saker, kör frågan \_direkt\_ i phpMyAdmin:

```
SELECT namn, fodd FROM personer WHERE fodd BETWEEN DATE(NOW()) AND DATE_ADD(DATE(NOW()), INTERVAL 3 DAY)
```

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

## #12 — metalboy, 2009-09-29T11:21Z

> **[Guldstrand skrev:](https://www.webforum.nu/p/1482330)**
>
> Hmm! Inget hämtas från databasen.
>
> Har detta:
>
>
> ```php
> 	$res = mysql_query("SELECT namn, fodd FROM personer WHERE fodd BETWEEN DATE(NOW()) AND DATE_ADD(DATE(NOW()), INTERVAL 3 DAY)") or die(mysql_error());
> 	while ($arr = mysql_fetch_assoc($res))
> { 
> 	print("$arr[namn]<br />"); 
> }
> ```

Du måste nog ta bort årtalet från datumen som ska jämföras, annars blir det lite fel.

```
... WHERE DATE_FORMAT(fodd, '%m-%d') BETWEEN DATE_FORMAT(NOW(), '%m-%d') AND DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 3 DAY), '%m-%d')
```

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

## #13 — Guldstrand, 2009-09-29T11:28Z

> **[MickeA.com skrev:](https://www.webforum.nu/p/1482332)**
>
> För att utesluta vissa saker, kör frågan \_direkt\_ i phpMyAdmin:
>
> ```
> SELECT namn, fodd FROM personer WHERE fodd BETWEEN DATE(NOW()) AND DATE_ADD(DATE(NOW()), INTERVAL 3 DAY)
> ```

Hahaha! Jo jag förstod att det inte fanns några resultat från mysql.
Testade dock att ändra intervallet, men det hjälpte inte heller.
*Finns ca 5 personer som jag VET fyller år i mitten på oktober t.e.x.*

Vad exakt gör koden?

```php
SELECT namn, fodd FROM personer WHERE fodd BETWEEN DATE(NOW()) AND DATE_ADD(DATE(NOW()), INTERVAL 3 DAY)
```

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

## #14 — Guldstrand, 2009-09-29T11:30Z

> **[metalboy skrev:](https://www.webforum.nu/p/1482334)**
>
> Du måste nog ta bort årtalet från datumen som ska jämföras, annars blir det lite fel.
> 
>
>
> ```
> ... WHERE DATE_FORMAT(fodd, '%m-%d') BETWEEN DATE_FORMAT(NOW(), '%m-%d') AND DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 3 DAY), '%m-%d')
> ```

Aha! Nu fungerade det genast bättre.  ;)
**Tack!**

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/180476-visa-dagens-födelsedagar
