---
title: "Hitta större datum"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/177339-hitta-större-datum"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Mr T"
published: "2009-03-07T22:07:12.000Z"
updated: "2009-04-24T18:47:42.000Z"
replies: 20
views: 1171
page: 1
pages: 2
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/177339-hitta-större-datum"
---

# Hitta större datum

_Sida 1 av 2._

## #1 — Mr T, 2009-03-07T22:07Z

Ska hitta födelsedagar vars månad och dag är lika med eller större än dagens datum (så jag vet vilka av mina vänner jag kan kräva tårta av. Redan uppätene tårtor vill jag inte ha!)  ;)

Om vi tar dagens datum (2009-03-07)

```
SELECT * FROM databas WHERE day_date >= '%-03-07'
```

 Av frågan ovan får jag även ut tidigare födelsedagar  :(  (gammal tårta vill väll ingen ha!!!)

 Vad gör jag för fel? (trött, blind och \*gäsp\* Zzzzzz...)

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

## #2 — yohpops, 2009-03-08T12:22Z

Lägg till "and day_date\>=dagens datum".

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

## #3 — Mr T, 2009-03-08T13:16Z

Jag kan inte använda dagens datum, detta då året är personernas födelse, år.

Ex.
 1954-01-13 - Bertil
 1984-06-10 - Lisa

 Om jag nu ska göra en sökning på vilken av dessa personer som har sina födelsedagar kvar att fira detta året, vill jag ju bara få träffar på Lisas datum. (Sedan använder jag hennes årtal minus året och får fram åldern.)

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

## #4 — Ledel, 2009-03-08T13:42Z

MONTH(day_date) \>= month_today AND DAY(day_date) \>= day_today eller något liknande?

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

## #5 — Mr T, 2009-03-08T15:57Z

(Tack Ledel, du fick mig på rätt spår, även om lösningen blev annorlunda.)

Tabellen

```
+----------+------------+
| name     | day_date   |
+----------+------------+
| Bertil   | 1954-01-13 |
| Lisa     | 1984-06-10 |
+----------+------------+
```

```
 SELECT * FROM databas WHERE RIGHT(day_date,5)>='03-07'
```

 (Med RIGHT kommandot plockar jag ut 5 tecken från höger, alltså månad och dag.)

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

## #6 — @nders, 2009-03-08T17:21Z

Man ska inte använda strängfunktioner för att kolla delar av datum. Man **ska** använda datumfunktioner.

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

## #7 — Mr T, 2009-03-08T17:44Z

Du får gärna komma upp med en bättre lösning. Denna funkar och därför kör jag med den tills jag får en bättre. :)

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

## #8 — Peter S, 2009-03-08T17:57Z

Se Ledels förslag: jämför månad och dag för day_date mot dagens diton :)

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

## #9 — @nders, 2009-03-08T19:01Z

Att använda strängfunktioner kanske funkar - ett tag, eller på en viss server. Nästa gång du kör frågan kanske ett annat datumformat ges, till exempel 03/08/2009. Då får du /2009 tillbaka. Det är fel.

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

## #10 — Mr T, 2009-03-08T21:45Z

Peter S: Letade efter kommandot DAY på <https://www.mysql.org> men fann inget där. Ser först nu hur genial Ledels förslag är.
 När jag letade på <https://www.mysql.org> efter DAY gav dom förslag på en liknade funktion som jag gjorde ovan, därför blev det så :-/
 Men helt klart ska jag ge DAY kommandot en test.

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

## #11 — Peter S, 2009-03-09T08:06Z

Kika här:
<http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html>

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

## #12 — Mr T, 2009-03-10T17:08Z

Jag ger mig. Förlåt för min dumhet och okunskap och slarv och .... Det funkade med Day() och Month(), och som påpekat är det ju säkrare. 
 Får ta och se om jag en dag kommer överns med sidan mysql.com så jag också kan hitta dom fina/bra/rätta kommandona, detta så jag slipper störa er :)  

Stort tack för all hjälp.

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

## #13 — Mr T, 2009-04-24T12:50Z

Har fått tid över (och error som jag måste fixa). 

 Använder jag "RIGHT(day_date,5)\>='04-24'" får jag dessa 10 första datum :
04-24 - Gabriella
04-26 - Ivo
04-29 - Barbro
04-29 - Berth
04-29 - Isabell
05-05 - Henrik
05-10 - Torgny
06-05 - Inga-Lill
06-06 - Klaudia
06-10 - Miranda
...

 Använder jag "MONTH(day_date)\>=4 AND DAY(day_date)\>=24" får jag följande 8 datum ("\>='4'" ger ingen skillnad) :
04-24 - Gabriella
04-26 - Ivo
04-29 - Isabell
04-29 - Barbro
04-29 - Berth
06-27 - Veronica
09-25 - Stanko
12-28 - Kreso

 Var tar ex "Henrik" vägen i den undre sökningen ?

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

## #14 — drew, 2009-04-24T12:52Z

**05**\-05 - Henrik kan ju inte hittas med DAY(day_date) \>= **24**

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

## #15 — Mr T, 2009-04-24T13:54Z

Natrurligtvis ! 

Men hur gör jag då  för att få en bra sökning ? Frågan ska altså vara samma månad och framåt, fast i månader framåt ska det vara dag datum bakåt.

 Tacksam för hjälp !

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

## #16 — drew, 2009-04-24T14:01Z

hmm

```
WHERE (MONTH(day_date) = 4 AND DAY(day_date) >= 24) OR MONTH(day_date) > 4
```

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

## #17 — Mr T, 2009-04-24T14:02Z

Såhär blev det : 

( ( MONTH(day_date)=4 AND DAY(day_date)\>=24 ) OR ( MONTH(day_date)\>=5 AND DAY(day_date)\>=1 ) )

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

## #18 — Mr T, 2009-04-24T14:03Z

Tack drew. Du har varit till mycket hjälp.

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

## #19 — drew, 2009-04-24T14:03Z

Hah, jag var en minut snabbare. :p

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

## #20 — Mr T, 2009-04-24T14:19Z

LOL !

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/177339-hitta-större-datum  
Nästa sida: https://www.webforum.nu/amne/databaser-sql/177339-hitta-större-datum/page2.md
