devotionMedlem sedan jan. 20012 711 inlägg
Hej!
Kan man i SQL, göra ett villkor, som gör en UPDATE på föregående dygns poster.
Säg att jag kör UPDATE kl 02:00 2009-02-10. Detta skall sedan ske periodiskt varje natt kl 02:00.
Jag vill då att poster som har StartDate som ligger mellan 2009-02-09 00:00:00 och 2009-02-09 23:59:59 skall uppdateras.
Kan man göra så?
Mvh
Henrik
oskarsMedlem sedan nov. 20051 263 inlägg
Om du kör ASP skulle jag gjort så här:
' Dagen som ska uppdateras får vi fram så här:
myDate = dateserial(Year(Date),Month(Date),Day(Date)-1)
Sen i SELECT-satsen får ju göra något sånt här:
UPDATE Namn = "&mittNyaNamn&" WHERE Datum >= '"&myDate&"' AND Datum < '"&Date&"'
Typ så... om jag fattar dig rätt?
devotionMedlem sedan jan. 20012 711 inlägg
oskars skrev:
Om du kör ASP skulle jag gjort så här:
' Dagen som ska uppdateras får vi fram så här:
myDate = dateserial(Year(Date),Month(Date),Day(Date)-1)
Sen i SELECT-satsen får ju göra något sånt här:
UPDATE Namn = "&mittNyaNamn&" WHERE Datum >= '"&myDate&"' AND Datum < '"&Date&"'
Typ så... om jag fattar dig rätt?
Jo, det är ju ett sätt, men går det inte att lösa direkt i en SQL-fråga? :)
Mvh
Henrik
doggelitoMedlem sedan juni 20003 100 inlägg
Typ så här:
UPDATE t
SET [KOLUMN] = '1234'
FROM [TABLE] t
WHERE DATEDIFF(d, t.[STARTDATE], DATEADD(d, -1, getDate())) = 0
devotionMedlem sedan jan. 20012 711 inlägg
doggelito skrev:
Typ så här:
UPDATE t
SET [KOLUMN] = '1234'
FROM [TABLE] t
WHERE DATEDIFF(d, t.[STARTDATE], DATEADD(d, -1, getDate())) = 0
Ska titta på det!
:)
Mvh
Henrik
oskarsMedlem sedan nov. 20051 263 inlägg
Hur har du tänkt att göra för att det ska uppdateras 02:00 varje natt? Schemaläggning i XP?
devotionMedlem sedan jan. 20012 711 inlägg
Det kan vara en tänkbar lösning :)
//Henrik
@ndersMedlem sedan juni 200026 914 inlägg
Om man använder SQL Server finns ju bra schemaläggningsalternativ där.
devotionMedlem sedan jan. 20012 711 inlägg
Jepp, jag vet. Men om man kör SQL-express, så får man förlita sig på schemaläggaren.
:)
Mvh
Henrik
devotionMedlem sedan jan. 20012 711 inlägg
Eller så här:
UPDATE tblTask
SET CustomT2 = c.[Category], Modified = GETDATE()
FROM tblTask t
INNER
JOIN tblCustomer c
ON t.[CustomerNr] = c.[Nr]
WHERE DATEDIFF(d, t.planstartdate, GETDATE()) = 1
Mvh
Henrik