---
title: "delar av variabel i SQL sats"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/86593-delar-av-variabel-i-sql-sats"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Calevan"
published: "2003-09-21T18:26:36.000Z"
updated: "2003-09-22T10:58:33.000Z"
replies: 8
views: 337
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/asp/86593-delar-av-variabel-i-sql-sats"
---

# delar av variabel i SQL sats

## #1 — Calevan, 2003-09-21T18:26Z

Har idag denna kod:

```
  SQL = "SELECT * FROM tabellen WHERE datum=" & ar & ""
```

 vilket funkar fint. men nu är det så att jag skulle vilja byta datum mot de fyra första tecknerna som är lagrade i den variablen, dvs det man får ut om man skriver 

```
Left(datum, 4)
```

 
men det går ju inte att slänga in kodstycke två rakt in istället för datum i kod 1. och det går ju inte att göra något innan SQL satsen eftersom då finns inte datum.

Någon som förstår? och någon som kan hjälpa mig?

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

## #2 — @nders, 2003-09-21T18:30Z

Vad är fältet *datum* för datatyp?

Det borde ju helt klart vara av typen datum, eftersom att lagra datum är det den datatypen gör bäst. Då kan du använda funktionen Year() i SQL-frågan, och den funktionen finns även i VBScript, så du slipper använda Left().

Mvh

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

## #3 — Engine^, 2003-09-21T18:34Z

Är datatypen *Date/Time* blir frågan

```
SQL = "SELECT * FROM tabellen WHERE Year(datum) = " & ar
```

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

## #4 — Calevan, 2003-09-21T18:52Z

testade

```
SQL = "SELECT * FROM tabellen WHERE Left(datum, 4)=" & ar & ""
```

 

med det gick inte alls, men skulle year funka?

nu råkar det vara så illa att just här är datum inte datum, men det kommer att ändras snart, jag håller på att struktuera om databasen. men detta problemet kommer ändå dyka upp på ett ställe till, där det kommer vara en variabel innehållande text. så går det på något sätt att skriva som jag gjorde ovan men någon omskrivning?

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

## #5 — @nders, 2003-09-21T18:58Z

Jag vet inte vad som skulle funka om du inte berättar vad som finns i fältet datum, och vad du har i variabeln ar.

mvh

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

## #6 — Peeer, 2003-09-21T19:00Z

Om det är ett textfält så borde du väl ha '' runt ditt värde. Vad får du för felmeddelande om du provar:

```
SQL = "SELECT * FROM tabellen WHERE Left(datum, 4)='" & left(ar,4) & "'"
```

?

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

## #7 — Calevan, 2003-09-21T19:06Z

> **Peeer skrev:**
>
> Om det är ett textfält så borde du väl ha '' runt ditt värde. Vad får du för felmeddelande om du provar:
>
>
> ```
> SQL = "SELECT * FROM tabellen WHERE Left(datum, 4)='" & left(ar,4) & "'"
> ```
>
> ?

visst var det så enkelt! man tackar, fungerar aldeles utmärkt!

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

## #8 — Engine^, 2003-09-22T07:44Z

Så enkelt, men samtidigt så dumt... sträva alltid efter att använda rätt datatyp för att lagra dina värden. Iofs så påpekar du att du håller på att omstrukturera databasen, så det kanske blir bättre senare ;)

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

## #9 — Calevan, 2003-09-22T10:58Z

jo, det är just eftersom jag insett att det är dumt som jag gör om det :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/86593-delar-av-variabel-i-sql-sats
