webForumDet fria alternativet

delar av variabel i SQL sats

ASPur ASP

8 svar · 337 visningar · startad av Calevan

CalevanMedlem sedan maj 20031 173 inlägg
#1

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?

@ndersMedlem sedan juni 200032 969 inlägg
#2

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

Engine^Medlem sedan dec. 20003 887 inlägg
#3

Är datatypen Date/Time blir frågan

SQL = "SELECT * FROM tabellen WHERE Year(datum) = " & ar
CalevanMedlem sedan maj 20031 173 inlägg
#4

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?

@ndersMedlem sedan juni 200032 969 inlägg
#5

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

PeeerMedlem sedan mars 20025 907 inlägg
#6

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) & "'"

?

CalevanMedlem sedan maj 20031 173 inlägg
#7

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!

Engine^Medlem sedan dec. 20003 887 inlägg
#8

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 ;)

CalevanMedlem sedan maj 20031 173 inlägg
#9

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

128 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)