IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Vymazání 30 dní starých záznamů

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Frestyle
Člen
Avatar
Frestyle:13.4.2023 10:00

Dobrý den, mám problém ohledně vymazání záznamů SQL server 2014, které jsou víc jak 30 dní staré. Tabulka send je typ Varchar (12.04.2023 14:21:25). Proto čaruji převodama. Takhle jak to mám je dle mého názoru správně, ale vymaže mi to vše. Děkuji za každou radu

SqlCommand cm = new SqlCommand("DELETE FROM sklad_objednavky WHERE convert(VARCHAR(20), send, 112) < convert(VARCHAR(20), DATEADD(day, -30,getdate()), 112)", con);

Zkusil jsem: Zkoušel jsem různé převody (102,107,atd.)

Chci docílit: Snažím se dosáhnout vymazání záznamů starších jak 30 dní.

 
Odpovědět
13.4.2023 10:00
Avatar
Petan
Člen
Avatar
Petan:13.4.2023 11:37

pokud je send typu date,datetime .. tak

WHERE  send + 30 < GetDate()

kdyz char,varchar... tak

WHERE Convert(datetime,send,104) + 30 < GetDate() --104 German format
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
13.4.2023 11:37
Avatar
Frestyle
Člen
Avatar
Odpovídá na Petan
Frestyle:13.4.2023 11:44

Ahoj, děkuji moc za radu. Problémem je, že je právě typu VARCHAR.

 
Nahoru Odpovědět
13.4.2023 11:44
Avatar
Frestyle
Člen
Avatar
Odpovídá na Petan
Frestyle:13.4.2023 14:37

Děkuji. Funguje to jak má a je po problému.

 
Nahoru Odpovědět
13.4.2023 14:37
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.