Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL DateTime nur Datum vergleichen (https://www.delphipraxis.net/106701-sql-datetime-nur-datum-vergleichen.html)

Salomon 15. Jan 2008 10:34

Datenbank: MS SQL 2003 • Zugriff über: ADO

SQL DateTime nur Datum vergleichen
 
Moin,
sagt mal wie vergleiche ich bei zwei MS SQL Server DateTime Feldern nur den DatePart? Die zu vergleichenden Felder haben nämlich unterschiedliche Urzeiten, daher geht einfaches Gleichsetzen nicht.

Ich habe es mit einem Cast probiert, allerdings passt da die Syntax nicht...

SQL-Code:
CAST ( SUBSTRING(DateField1, 1, 10) AS DateTime) =
 CAST ( SUBSTRING(DateField2, 1, 10) AS DateTime)
Gibt es eine einfache Möglichkeit den Vergleich zu machen? Warum bietet der MS SQL Server eigentlich keine Datentypen für nur Date oder Time? Ich glaube erst der neue soll das können...

Gruß
Marcus

s-off 15. Jan 2008 10:38

Re: SQL DateTime nur Datum vergleichen
 
Hallo,

probiere mal to_date (weiß nicht, ob es das bei MSSQL gibt).

Sharky 15. Jan 2008 10:39

Re: SQL DateTime nur Datum vergleichen
 
Zitat:

Zitat von Salomon
... nur den DatePart?...

Hai Marcus,

wenn mich nicht alles täuscht heisst die Funktion bei MS-SQL DatePart ;-)

angos 15. Jan 2008 10:42

Re: SQL DateTime nur Datum vergleichen
 
Hi,

so sollte es gehen

Delphi-Quellcode:
CONVERT(varchar(8), DateField1, 112) = CONVERT(varchar(8), DateField2, 112)

Gruß
Ansgar

mkinzler 15. Jan 2008 10:56

Re: SQL DateTime nur Datum vergleichen
 
Was ist an DatePart so schlecht?

Salomon 15. Jan 2008 11:03

Re: SQL DateTime nur Datum vergleichen
 
Hi Sharky,
jupp die heißt wirklich DatePart :mrgreen:

Der Convert von Angos funktioniert auch.

To_Date gibts bei MS SQL nicht, das scheint von Oracle zu kommen.Oracle <-> MS SQL

angos 15. Jan 2008 12:08

Re: SQL DateTime nur Datum vergleichen
 
Hi,

Zitat:

Zitat von mkinzler
Was ist an DatePart so schlecht?


Nichts ;) hab ich auch nicht behauptet. (mir war DatePart selber auch unbekannt)
Habe halt nur eine mögliche Lösung gepostet

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 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 by Thomas Breitkreuz