Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL gesucht (https://www.delphipraxis.net/104255-sql-gesucht.html)

The_ New_Guy 30. Nov 2007 09:36

Datenbank: paradox(ich weiss) • Version: ?? • Zugriff über: BDE(ich weiiiis) - delphi

SQL gesucht
 
ok hi leute ich brauche hilfe mit einem sehr kniffligen problem.
Ich muss einen sehr speziellen sql schreiben.
es soll ein Update befehl werden, der die ganze tabelle erfasst.

Das Problem:
in einer unserer Tabellen befindet sich eine Zeit - Spalte in der Datum und Zeit in folgendem format angegeben sind -

30.12.1899 12:15:23
30.12.1899 12:15:00
30.12.1899 12:15:12
30.12.1899 12:15:30
30.12.1899 12:15:40
30.12.1899 12:15:44

Mein Problem: ich brauche einen updatesql der alle Sekunden auf null stellt!
also soll es nach dem sql so aussehen:

30.12.1899 12:15:00
30.12.1899 12:15:00
30.12.1899 12:15:00
30.12.1899 12:15:00
30.12.1899 12:15:00
30.12.1899 12:15:00

Wie kann ich das bewerkstelligen?? Bitte hilft mir bin voll verzweifeltz und ist auch voll
schwer im internet dazu was zu finden.
achso: ich darf keine rekursive Prozedur schreiben, die jeden datensatz einzelnd durchgeht, da die tabelle 10.000+
einträge hat - -

Bernhard Geyer 30. Nov 2007 09:40

Re: SQL gesucht
 
Zitat:

Zitat von The_ New_Guy
achso: ich darf keine rekursive Prozedur schreiben, die jeden datensatz einzelnd durchgeht, da die tabelle 10.000+ einträge hat - -

Und wieso? da es sich um eine Desktop-DB handelt und der Treiber eh alle Datensätze anlagen muß wirst du mit einem SQL-Statement nicht schneller sein.

mkinzler 30. Nov 2007 09:40

Re: SQL gesucht
 
Delphi-Quellcode:
zeit := Trunc( zeit /60) * 60;

The_ New_Guy 30. Nov 2007 09:52

Re: SQL gesucht
 
sorry aber rekursive abfrage ist nicht drin (weil ich umbedingt nen sql dafür kennenlernen will + wenns keinen gibt es wissen will + boss möchte möglichst einen einzelnen sql)
Ich muss das von der arbeit aus machen.
Das ganze hat mit einer tabellenreorganisation zutun, diesen Prozess nennen wir "heilen"

DeddyH 30. Nov 2007 09:57

Re: SQL gesucht
 
Bei Paradox kenne ich mich nicht aus, schau doch mal, ob Du mkinzlers Anregung dort umsetzen kannst (zuerst mit einer Abfrage ;) ):
SQL-Code:
SELECT trunc(Zeitfeld / 60 ) * 60 FROM Tabelle
Falls das geht und Deinen Erwartungen entspricht, kannst Du es so machen:
SQL-Code:
UPDATE Tabelle SET Zeitfeld = trunc(Zeitfeld / 60) * 60

marabu 30. Nov 2007 10:01

Re: SQL gesucht
 
Hi,

mit LocalSQL sollte es so funktionieren:

SQL-Code:
update tbl
set ts = cast(substring(cast(ts as varchar(19)) from 1 for 17) + "00" as timestamp)
where pk = 42
Grüße vom marabu

The_ New_Guy 30. Nov 2007 10:12

Re: SQL gesucht
 
Danke ihr seid Klasse!!!
special thx to marabu, der doch tatsächlich den perfekten SQL für mich hat!
bye

rwachtel 30. Nov 2007 10:49

Re: SQL gesucht
 
Gut, dass Du eine Lösung hast.

Aber nebenbei bemerkt: mit Rekursion hat weder die SQL- noch die prozedurale Lösung irgendwas zu tun...


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz