![]() |
Datenbank: SQL • Version: 2005 • Zugriff über: ADO
SQL Abfrage über Datepart
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. |
Re: SQL Abfrage über Datepart
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! |
Re: SQL Abfrage über Datepart
Hi,
also SQL Server 2005 STD. Zitat:
Nächstes mal werde ich es genauer beschreiben. Danke. |
Re: SQL Abfrage über Datepart
SQL-Code:
Den Paramter setzt du dann auf den gewünschten Wert TADoQuery.Parameter.ParamByName('datum').asDateTim e := '02.03.2006':
select <feld> from <tabelle> where <datumsfeld> = ?datum;
|
Re: SQL Abfrage über Datepart
Eine Alternative:
SQL-Code:
Grüße vom marabu
SELECT * FROM tabelle WHERE DATEDIFF(day, datum, getdate()) = 1
|
Re: SQL Abfrage über Datepart
Hi,
vielen Dank marabu. Genau das habe ich gesucht. Viele Dank und ein schönes Weekend. |
Re: SQL Abfrage über Datepart
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':
SQL-Code:
Ich rechne 'MyDate+1' im Client aus und formatiere das Datum ODBC-Konform, und zwar so:
Select * from Tabelle where DateTimeField Between <MyDate> and <MyDate+1>
SQL-Code:
Die Datumsformatierung mutet exotisch an, ist sie auch, aber MSSQL-konform.
Select * from Tabelle where DateTimeField Between { d '12-24-2005' } and { ts '12-24-2005 23:59:59' }
|
Re: SQL Abfrage über Datepart
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. |
Re: SQL Abfrage über Datepart
Zitat:
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz