webForumDet fria alternativet

Äldre än datum X där datatypen är text

Databaser & SQL

5 svar · 254 visningar · startad av mattiasnordin

Medlem sedan maj 20012 080 inlägg
Frågan#1

Hej hopp. Har en tabell som har en mängd datum i ett felaktigt databasformat, nämligen text. Vill ogärna påverka databasen och undrar nu om det går att ta ut alla poster som är äldre än X.

Kanske något liknande:

sql = sql & " WHERE datediff(M, sAge ,cDate(purchased_date)) < 0 "

Som då inte fungerar... Jag bara tänker högt :r

Medlem sedan dec. 200012 464 inlägg
#2
  1. Vilken DBMS?
  2. Vilket är formatet i kolumnen?
  3. Vad är sAge?
  4. Vad är purchased_date?
Medlem sedan maj 20012 080 inlägg
#3
  1. Access 2003
  2. Text
  3. sAge = ett nummer. Antalet månader tillbaka som jag vill söka från.
  4. purchased_date innehåller datum men dock i text format. Ex 1992-08-12

:)

PS Hej Lars. Det är fint väder i Uppsala idag DS

Medlem sedan juni 200032 967 inlägg
#4

Men du. Om det redan ligger giltiga datum i fältet, varför då inte bara byta till rätt datatyp?

Fusk ogillas...

Medlem sedan maj 20012 080 inlägg
#5

Jag vet nämligen inte riktigt om hur fältet har använts tidigare. Kan inte svära på att det enbart är datumsyntax i kolumnen.

Jag ska se om jag kan öppna databasen någonstans och se om det går att ändra. Antar att det kan bli fel på andra ställen då men jag håller med om att det vore skönt att ha det i rätt format... :)

Medlem sedan maj 20012 080 inlägg
#6

Jag har lyckats ändra. Fick inte så stora konsekvenser (hoppas jag).

Två frågor:

  1. Finns det någon annan metod med att en datum post ska få vara blank än att göra följande?
	if sPurchasedDate <> "" then
		Query = Query & ", purchased_date = #" &sPurchasedDate &"#"
	end if
  1. Går det att få till min trådfråga. Nyfiken?!
257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)