---
title: "Parameter in i fråga?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/129910-parameter-in-i-fråga"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Lasp"
published: "2005-06-13T12:01:21.000Z"
updated: "2005-06-13T20:12:35.000Z"
replies: 10
views: 382
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/129910-parameter-in-i-fråga"
---

# Parameter in i fråga?

## #1 — Lasp, 2005-06-13T12:01Z

Om jag har ett och samma datum på ett antal ställen i en fråga.
Kan jag skapa en parameter i början så att jag bara behöver ändra parametern vid ny körning?

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

## #2 — @nders, 2005-06-13T12:06Z

Vilken dbms?

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

## #3 — Lasp, 2005-06-13T12:43Z

Förlåt @nders och Ni andra som läst frågan
MS SQL gäller det och mitt biluthyrningssystem.
Det är en statistikfråga som kommer att återanvändas därför vore det bra med en  (eller två) ingång för datum.

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

## #4 — @nders, 2005-06-13T12:45Z

Något sånt här hade jag försökt mig på då:

```
DECLARE @myDate datetime
SET @myDate = '2005-05-11'

SELECT * FROM tbl WHERE dteDateField = @myDate
-- osv
```

mvh

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

## #5 — Lasp, 2005-06-13T13:21Z

Nja den ville inte  !
\-1 Rader uppdaterades eller lades till

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

## #6 — @nders, 2005-06-13T13:23Z

Kan du visa mer av din kod? Vad kommer -1 ifrån till exempel?

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

## #7 — Lasp, 2005-06-13T17:11Z

det blir -1 när jag lägger till den första deklarationen.
här kommer hela frågan. Det är F_datum och T_Datum jag vill ha som variabler så att jag kan byta datumfälten enkelt:
select 1,'Hyresintäkter',sum(summa) from faktrad where ((rad=1) or (rad=3)) and ((regtidpunkt\>='2005-01-01') and (regtidpunkt\<='2005-01-31')) union select 2,'Kilometer',sum(summa) from faktrad where ((rad=2) or (rad=4)) and
((regtidpunkt\>='2005-01-01') and (regtidpunkt\<='2005-01-31')) union select 3,'Självriskreducering',sum(summa) from faktrad where rad=5 and
((regtidpunkt\>='2005-01-01') and (regtidpunkt\<='2005-01-31')) union select 4,cast(text as varchar(30)),sum(summa) from faktrad where rad\>5 and
((regtidpunkt\>='2005-01-01') and (regtidpunkt\<='2005-01-31')) group by text union select 5,'Moms',sum(momssum) from fakthead where
((regtidpunkt\>='2005-01-01') and (regtidpunkt\<='2005-01-31')) union select 6,'Körda km',sum(km_in-km_out) from fakthead where
((regtidpunkt\>='2005-01-01') and (regtidpunkt\<='2005-01-31')) union select 7,'hyrdagar',sum(datediff(d,frm_time,to_time)) from fakthead where
((regtidpunkt\>='2005-01-01') and (regtidpunkt\<='2005-01-31')) union select 8,'Betsätt '+payment,sum(varuvarde) from fakthead where
((regtidpunkt\>='2005-01-01') and (regtidpunkt\<='2005-01-31')) group by payment union select 9,'Objtyp '+otype,sum(varuvarde) from fakthead where
((regtidpunkt\>='2005-01-01') and (regtidpunkt\<='2005-01-31')) group by otype union select 10,'Objekt '+oid,sum(varuvarde) from fakthead where
((regtidpunkt\>='2005-01-01') and (regtidpunkt\<='2005-01-31')) group by oid

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

## #8 — @nders, 2005-06-13T17:36Z

Jag tänkte alltså att det vore bra att se hur det såg ut efter det att du lagt in enligt mitt förslag.

Jag förstår dock inte vad du menar är fel.

Vad blir -1? Var kommer det värdet ifrån? Är det ett fältvärde eller ett värde som skapas i applikationen? 

Prova följande, exempelvis i Query Analyzer, och se om det fungerar som du vill:

```
set nocount on
declare @regdatum1 datetime,
@regdatum2 datetime
set @regdatum1 = '2005-01-01'
set @regdatum2 = '2005-01-31'

select 1,'Hyresintäkter',sum(summa) from faktrad where ((rad=1) or (rad=3)) and ((regtidpunkt>=@regdatum1) and (regtidpunkt<=@regdatum2)) union select 2,'Kilometer',sum(summa) from faktrad where ((rad=2) or (rad=4)) and
((regtidpunkt>=@regdatum1) and (regtidpunkt<=@regdatum2)) union select 3,'Självriskreducering',sum(summa) from faktrad where rad=5 and
((regtidpunkt>=@regdatum1) and (regtidpunkt<=@regdatum2)) union select 4,cast(text as varchar(30)),sum(summa) from faktrad where rad>5 and
((regtidpunkt>=@regdatum1) and (regtidpunkt<=@regdatum2)) group by text union select 5,'Moms',sum(momssum) from fakthead where
((regtidpunkt>=@regdatum1) and (regtidpunkt<=@regdatum2)) union select 6,'Körda km',sum(km_in-km_out) from fakthead where
((regtidpunkt>=@regdatum1) and (regtidpunkt<=@regdatum2)) union select 7,'hyrdagar',sum(datediff(d,frm_time,to_time)) from fakthead where
((regtidpunkt>=@regdatum1) and (regtidpunkt<=@regdatum2)) union select 8,'Betsätt '+payment,sum(varuvarde) from fakthead where
((regtidpunkt>=@regdatum1) and (regtidpunkt<=@regdatum2)) group by payment union select 9,'Objtyp '+otype,sum(varuvarde) from fakthead where
((regtidpunkt>=@regdatum1) and (regtidpunkt<=@regdatum2)) group by otype union select 10,'Objekt '+oid,sum(varuvarde) from fakthead where
((regtidpunkt>=@regdatum1) and (regtidpunkt<=@regdatum2)) group by oid
```

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

## #9 — Lasp, 2005-06-13T18:11Z

Tack @nders. Kör jag den i query fönster så fungerar den.
Det är i mitt eget administrationsprogram som resultatet blir -1.
Jag måste kolla i debugläge.

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

## #10 — LarsG, 2005-06-13T18:40Z

Du bör använda

```
set @regdatum2 = '2005-01-31 23:59:59'
```

om du vill få med alla värden från Januari.

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

## #11 — Lasp, 2005-06-13T20:12Z

Tack LarsG  Helt rätt tänkt.
Jag måste jobba vidare med urvalen märker jag för pengarna stämmer inte helt.
Kan vara det du påpekar. Många hyror avslutats den siste !!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/129910-parameter-in-i-fråga
