webForumDet fria alternativet
Logga in / Bli medlem

delar av variabel i SQL sats

ASP

8 svar · 337 visningar · startad av Calevan

Medlem sedan maj 20031 173 inlägg
Trådstart#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?

Medlem sedan juni 200032 967 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

Medlem sedan dec. 20003 887 inlägg
#3

Är datatypen Date/Time blir frågan

SQL = "SELECT * FROM tabellen WHERE Year(datum) = " & ar
Medlem 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?

Medlem sedan juni 200032 967 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

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

?

Medlem 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!

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

Medlem sedan maj 20031 173 inlägg
#9

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

259 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)