---
title: "Jämföra dagens datum mot datum i db"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/141241-jämföra-dagens-datum-mot-datum-i-db"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "WebbisNet"
published: "2006-01-21T07:00:54.000Z"
updated: "2006-01-21T08:05:25.000Z"
replies: 10
views: 388
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/141241-jämföra-dagens-datum-mot-datum-i-db"
---

# Jämföra dagens datum mot datum i db

## #1 — WebbisNet, 2006-01-21T07:00Z

Hur får jag denna SQL att fungera i MySQL

```
Set bday=objConn.Execute("Select * From tblUsers where persnr='"& varDate &"'")
```

Datatypen är date

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

## #2 — @nders, 2006-01-21T07:29Z

Det beror till mångt och mycket på två saker:
1) vad innehåller variabeln varDate?
2) På vilket sätt fungerar det inte?

Snälla, skriv ut färdiga SQL-frågor när du undrar varför något inte fungerar...

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

## #3 — WebbisNet, 2006-01-21T07:32Z

varDate innehåller dagens datum och enligt databasen ska en person ha födelsedag idag men SQL-satsen säger att ingen har det

Select \* From tblUsers where persnr=2006-01-21 
enligt utskriften av satsen

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

## #4 — @nders, 2006-01-21T07:35Z

Skriv ut!
Vad *exakt* innehåller variabeln?
Du måste se till att datumen är av rätt format!

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

## #5 — WebbisNet, 2006-01-21T07:41Z

utskriften blev Select \* From tblUsers where persnr=2006-01-21 och det är samma format i databasen

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

## #6 — @nders, 2006-01-21T07:45Z

Konstigt, det verkar som om du tappade apostroferna vid copy/paste... :o

Och det råkar inte vara så att fältet i databasen innehåller tid också?

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

## #7 — WebbisNet, 2006-01-21T07:49Z

har ändrat datatypen till text, när jag har ' ' får flera personer födelsedag och alla har samma ålder och det stämmer inte enligt databasen, och varDate=Date() så det är ingen tid där eller i db-n

Set bday=objConn.Execute("Select \* From tblUsers where persnr='"& varDate &"'") 
ger detta
Select \* From tblUsers where persnr='2006-01-21'

Den som ska fylla år har detta i databasen 1981-01-21

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

## #8 — @nders, 2006-01-21T07:52Z

?!?!?!

Det skall vara som du hade det från början, dvs datum skall lagras i fält av datumtyp, samt datum skall ha apostrofer runt sig i SQL-frågan. Om du då inte får rätt resultat av den "korrekta" SQL-frågan så innebär det att antingen är det ingen som har födelsedagen 21/1 år 2006, eller så tittar du på fel fält.

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

## #9 — WebbisNet, 2006-01-21T07:56Z

När jag använde Access så fungerade denna:
Set bday=objConn.Execute("Select \* From tblUsers where month(persnr) = month(date()) and day(persnr) = day(date())")

men samma med MySQL blir:
\[MySQL\]\[ODBC 3.51 Driver\]\[mysqld-4.0.25-max\]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 '()) and day(persnr) = day(date())' at line 1 

> **@nders skrev:**
>
> ?!?!?!
> 
> Det skall vara som du hade det från början, dvs datum skall lagras i fält av datumtyp, samt datum skall ha apostrofer runt sig i SQL-frågan. Om du då inte får rätt resultat av den "korrekta" SQL-frågan så innebär det att antingen är det ingen som har födelsedagen 21/1 år 2006, eller så tittar du på fel fält.

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

## #10 — @nders, 2006-01-21T08:01Z

Ja.......

Om du frågar efter ett komplett datum är det inte så konstigt att du inte får träff när du inte anger rätt år i SQL-frågan...

Fråga gärna efter rätt saker från början.

```
strSQL="select * 
  from tblUsers 
where extract(month from persnr) = " & month(varDate) & " and extract(day from persnr) =  " & day(varDate)
```

edit: lösningen kan också hittas om man lite snabbt söker på "MySQL and födelsedagar" här på wF...

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

## #11 — WebbisNet, 2006-01-21T08:05Z

Ok, tack @nders, du är en räddande ängel :-D

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/141241-jämföra-dagens-datum-mot-datum-i-db
