webForumDet fria alternativet

Uppdatera vissa rader bara

13 svar · 426 visningar · startad av Sidan

SidanMedlem sedan juli 200546 inlägg
#1

Hej! Jag skulle vilja uppdatera alla date i min tabell som informationen i är "Jul 4 2005 6:01PM" om tex datan i date är "Aug 10 2005 6:01PM" så ska den lämnas intakt. någon som vet något sätt?

PeeerMedlem sedan mars 20025 907 inlägg
#2

Va? Ta det där en gång till, saktare den här gången tack.

Mao, jag fattade inte ett ord av vad du skrev i ditt förra inlägg..

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

Beror ju på hur du lagrar dina datum.

UPDATE [i]tabell[/i]
SET [date] = [i]nyttdatum[/i]
WHERE [date] = [i]datumsomskaändras[/i]

red.
Vet inte riktigt vad jag tänkte på...

J.N.Medlem sedan apr. 20031 660 inlägg
#4

HEJ!

Det är väl endast att skriva det i WHERE, om det är just det datumet som ska uppdateras.
... WHERE datum="Jul 4 2005 6:01PM"

Beroende på hur datumet är formaterat kanske du får formatera det på lämpligt sätt.

SidanMedlem sedan juli 200546 inlägg
#5

jag testade med denna kod :

UPDATE [Site] SET [date] = date() WHERE [date] = Jul 4 2005 6:01PM

men får detta fel mess :

'date' is not a recognized function name.

Error Code: 1480 Source: .Net SqlClient Data Provider

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Vilken databashanterare använder du?
Vilken datatyp använder du för att lagra datumvärdet?

SidanMedlem sedan juli 200546 inlägg
#7

jag använder Aspenterprisemanager, givetvis MS-SQL :P
jag använder datatypen varchar på date

LarsGMedlem sedan dec. 200012 464 inlägg
#8
UPDATE [Site] SET [date] = cast(getdate() as varchar) 
WHERE [date] = 'Jul 4 2005 6:01PM'
SidanMedlem sedan juli 200546 inlägg
#9

jag får fortfarande fel :

'date' is not a recognized function name.

Error Code: 1669 Source: .Net SqlClient Data Provider

jag vill inte använda mig utav getdate() för då spar den väl , Månad/Dag/År/Tid? jag vill bara spara dag/månad/år det vill säga date() .

UPDATE [Site] SET [date] = date() WHERE [date] = 'Jul 4 2005 6:01PM'

LarsGMedlem sedan dec. 200012 464 inlägg
#10

I MS-sql finns det ingen datatyp för enbart datum och heller ingen funktion för att returnera enbart ett datum. Du måste alltså jobba med datum + tid och lagra det i en datetime-kolumn (med hjälp av getdate()). När man hämtar data kan man använda funktionen convert för att få det format man vill ha.

SidanMedlem sedan juli 200546 inlägg
#11

hrm okey, finns det nått bra sätt att loopa igenom alla rader i databasen och uppdatera date till 7/7/2005 då?

J.N.Medlem sedan apr. 20031 660 inlägg
#12

HEJ!

Sidan skrev:

hrm okey, finns det nått bra sätt att loopa igenom alla rader i databasen och uppdatera date till 7/7/2005 då?

Jadå, det finns ett jättebra sätt, kör updaten.
Då uppdateras alla rader med det where du anger, dvs utan att behöva använda loopar av någon form.

SidanMedlem sedan juli 200546 inlägg
#13

jo jag märkte det =) tack så mycket!

@ndersMedlem sedan juni 200032 969 inlägg
#14

Moderatorn klampar in och byter accepterat svar. :)

Mvh

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