---
title: "Datum ifrån access till mysql"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/74545-datum-ifrån-access-till-mysql"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Qimen"
published: "2003-04-20T11:10:18.000Z"
updated: "2003-04-20T21:05:13.000Z"
replies: 11
views: 319
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/74545-datum-ifrån-access-till-mysql"
---

# Datum ifrån access till mysql

## #1 — Qimen, 2003-04-20T11:10Z

Hej

Hur ska jag byta ut dessa så att dem funkar med mysql?

```
" and datediff('d',datumbetalt,date()) > 0 "
```

 och 

```
sql = "update anvandare set dagaraktiv = "& _
 	"iif (Datediff('d', cDate(bshyrabet), '"& date()&"') >=1, "& _
 	"dagaraktiv+1, iif(cDate(bshyrabet) Is Null, 1, "& _
 	"dagaraktiv)), bshyrabet = date() "&_
 	" where id = "& Trim(Session("id"))
```

Tror bara det är datumen som jag få problem med.

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

## #2 — LarsG, 2003-04-20T15:45Z

```
and to_days(datumbetalt) < to_days(current_date)
```

```
sql = _
"update anvandare " & _
" set dagaraktiv = "& _
" case when bshyrabet Is Null then 1 " & _
  "  when to_days(current_date) - to_days(bshyrabet) "  & _
 "  >=1 then dagaraktiv+1 end, " & _
" bshyrabet = current_date "& _
" where id = " & Session("id")
```

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

## #3 — Qimen, 2003-04-20T15:52Z

Om man vill att det ska hända där det gått sex timmar sedan datumet. Kan man skriva så här:

```
"where shyra < SUBDATE(NOW(),INTERVAL 6 HOUR) "
```

 ?

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

## #4 — LarsG, 2003-04-20T15:56Z

Testa. Jo, det skall fungera.

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

## #5 — Qimen, 2003-04-20T16:19Z

Jodå det funka, även min andra kod funka bra. Jag trodde jag skulle klara det sen då det såg ut att bara vara till att byta datumdelen. Men på denna koden vill det inte funka ändå: 

```
sql = "update anvandare set energi = "&_
	"iif(energi + energitot >= 1000,1000,energi + energitot), " & _
	" nyenergi = date() where datediff('d',nyenergi,date()) > 0 "
connect.execute sql,,128
```

Jag försökta med:

```
sql = "update anvandare set energi = "&_
	"iif(energi + energitot >= 1000,1000,energi + energitot), " & _
	" nyenergi = date() where nyenergi < SUBDATE(date(),INTERVAL 6 HOUR) "
connect.execute sql,,128
```

Vill ändra så att det ändras vid 6 timmar. Felet jag får är: 

> \[TCX\]\[MyODBC\]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 '(energi + energitot \>= 1000,1000,energi + energitot), nyenergi
> /spel/check.asp, line 77

Kan man inte köra med iif satser i mysql eller?

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

## #6 — Qimen, 2003-04-20T16:31Z

Hum tydligen funkade inte: 

```
sql = "update anvandare set dagaraktiv = case when bshyrabet Is Null then 1 " & _
  " when to_days(current_date) - to_days(bshyrabet) "  & _
  " >=1 then dagaraktiv+1 end, " & _
  " bshyrabet = current_date "& _
  " where namn = '"&namn&"'"
```

När man loggar in en gång till, då datumet redan är aktuellt så blir dagaraktiv tomt istället. :q 
Blir det svårt att ändra den så att den lägger till ett efter 6 timmar istället?

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

## #7 — LarsG, 2003-04-20T16:36Z

```
" when to_days(current_date) - to_days(bshyrabet) "  & _
  " >=1
```

```
" when current_date - bshyrabet > 6*60*60  "  & _
```

Nej, det går inte att använda iif i Mysql.

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

## #8 — Qimen, 2003-04-20T16:49Z

> **LarsG skrev:**
>
> ```
> " when to_days(current_date) - to_days(bshyrabet) "  & _
>   " >=1
> ```
>
> 
> 
>
>
> ```
> " when current_date - bshyrabet > 6*60*60  "  & _
> ```

Men måste jag inte också ändra datumet så att det läggs till en tidpunkt och inte bara ett datum? Sen läggs fortfarande inget värde till när man loggar in.

Kan man lösa de frågorna med iif på något annat sätt?

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

## #9 — LarsG, 2003-04-20T16:58Z

Jag gav ett exempel tidigare med case i stället för iif.

Om du vill få både datum och  tid, använd current_timestamp.

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

## #10 — Qimen, 2003-04-20T17:50Z

Men varför försvinner värdet i databasen om datumet är aktuellt?

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

## #11 — LarsG, 2003-04-20T18:25Z

Ööh? 

Lite mer detaljer, vilken kod är det som orsakar detta fenomen?

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

## #12 — Qimen, 2003-04-20T21:05Z

Den koden som ska lägga till ett var 6:e timme. Om datumet är mer än 6 timmar gammalt så ändras den till aktuell som det ska, den lägger även till ett, men loggar man in en gång så blir posten i databasen tom. 

```
sql = "update anvandare set dagaraktiv = case when bshyrabet Is Null then 1 " & _
  " when current_date - bshyrabet > 6*60*60  "  & _
  " >=1 then dagaraktiv+1 end, " & _
  " bshyrabet = current_date "& _
  " where namn = '"&namn&"'"
connect.execute sql,,128
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/74545-datum-ifrån-access-till-mysql
