AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Abfrage über Datepart

SQL Abfrage über Datepart

Ein Thema von renekr · begonnen am 2. Mär 2006 · letzter Beitrag vom 3. Mär 2006
Antwort Antwort
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#1

SQL Abfrage über Datepart

  Alt 2. Mär 2006, 23:17
Datenbank: SQL • Version: 2005 • Zugriff über: ADO
Hallo,
Bin auf der Suche nach einer Lösung:
Will folgendes machen.

Einen Select auf eine Tabelle die einen Datetime wert hat.
Aber als Ergebnis nur die Datensätze die zb.gestern eingegeben worden sind!

Also wenn heute der 2.3.2006 ist dann alle vom 01.03.2006.

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.198 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: SQL Abfrage über Datepart

  Alt 2. Mär 2006, 23:24
Was für eine Datenbank? Da hier die Syntax der verschiedenen Datenbank-Managementsysteme unterschiedlich ist die genaue DBMS-Bezeichnung wichtig.
SQL ist keine Datenbank sondern eine Abfragesprache!
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: SQL Abfrage über Datepart

  Alt 3. Mär 2006, 14:58
Hi,
also
SQL Server 2005 STD.

Zitat:
SQL ist keine Datenbank sondern eine Abfragesprache!
Das ist mir klar deswegen steht ja die Version 2005 noch dabei.
Nächstes mal werde ich es genauer beschreiben.

Danke.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: SQL Abfrage über Datepart

  Alt 3. Mär 2006, 15:17
select <feld> from <tabelle> where <datumsfeld> = ?datum; Den Paramter setzt du dann auf den gewünschten Wert TADoQuery.Parameter.ParamByName('datum').asDateTim e := '02.03.2006':
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: SQL Abfrage über Datepart

  Alt 3. Mär 2006, 15:22
Eine Alternative:

SELECT * FROM tabelle WHERE DATEDIFF(day, datum, getdate()) = 1 Grüße vom marabu
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: SQL Abfrage über Datepart

  Alt 3. Mär 2006, 17:27
Hi,
vielen Dank marabu.
Genau das habe ich gesucht.
Viele Dank und ein schönes Weekend.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: SQL Abfrage über Datepart

  Alt 3. Mär 2006, 17:35
Das Problem ist doch immer wieder, das in einer DateTime-Spalte auch die Uhrzeit drinsteht (oder kann). Weiterhin will man schnelle Abfragen, und das geht nur, wenn der SQL-Server einen Index verwenden kann. Das kann er nicht bei marabus DateDiff-Alternative.

Wenn ich alle Datensätze von einem bestimmten Tag haben will, verwende ich 'BETWEEN':
Select * from Tabelle where DateTimeField Between <MyDate> and <MyDate+1> Ich rechne 'MyDate+1' im Client aus und formatiere das Datum ODBC-Konform, und zwar so:
Select * from Tabelle where DateTimeField Between { d '12-24-2005' } and { ts '12-24-2005 23:59:59' } Die Datumsformatierung mutet exotisch an, ist sie auch, aber MSSQL-konform.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: SQL Abfrage über Datepart

  Alt 3. Mär 2006, 18:51
Hi,
das ist zwar schön wenn man einen Client hat,aber ich hatte das Thema bei einem Reporting Service vom SQL.
Wollte auf dem Report immer die Daten von gestern angezeigt bekommen,und da habe ich halt nur SQL zur verfügung und kann nur per SQL das Datum ändern.

und für diesen Zweck hat es optimal hingehauen.

Will ja nicht imemr was am Report selbst ändern.

danke.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.198 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: SQL Abfrage über Datepart

  Alt 3. Mär 2006, 19:54
Zitat von renekr:
Hi,
also
SQL Server 2005 STD.

Zitat:
SQL ist keine Datenbank sondern eine Abfragesprache!
Das ist mir klar deswegen steht ja die Version 2005 noch dabei.
Um es jetzt genau auszukarteln:
Eine Jahreszahl besagt noch gar nichts. Und Jahreszahlen sind kein Alleinstellungsmerkmal von MS
So gibt es diverse SQL-Standard-Versionen welche ebenfalls mit einer Jahreszahl versehen werden so z.B. der SQL-92-Standard.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:25 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