Ich bin ein SQL-Entwickler und verbringe die meiste Zeit in MSSQL. Ich suche nach einer besseren Möglichkeit, ein "Timestamp ohne Zeitzone" -Feld in einer PostGreSQL-DB
zu filternIch benutze:
%Vor%Aber da ich kein Experte in der Syntax bin, muss ich denken, dass es einen besseren Weg gibt.
Vorschläge? Danke.
Für Datumsintervalle können Sie Folgendes verwenden:
%Vor%Es ist kürzer (Sie müssen %code% nicht wiederholen) und hat ein explizites Datumsformat.
Für 1 Stunde / Tag / Monat / Jahr können Sie verwenden:
%Vor%Ihre Lösung ist in Ordnung. Wenn die Daten Literale sind, würde ich jedoch bevorzugen:
%Vor%Dies funktioniert genau so, ist aber wartungsfreundlicher, weil es den Punkt jedes literalen "Datums" klarstellt, der ein Zeitstempel und kein Datum ist. Angenommen, jemand ändert beispielsweise Ihre Abfrage in das folgende
%Vor%... erwartet (und scheitert), den ganzen Tag "2012-01-01" in die Abfrage aufzunehmen. Mit der späteren Syntax wird die Absicht klarer und diese Verwirrung wird verhindert.
Um es noch deutlicher zu machen (vielleicht zu ausführlich), können Sie die explizite Umwandlung durchführen:
%Vor%Ich würde %code% hier nicht aus ähnlichen Gründen (mögliche Datentypverwechslung) verwenden, noch %code% (es gibt %code% zurück).
Übrigens, ich habe den Fall so geändert, dass er der empfohlenen Praxis entspricht (Schlüsselwörter in Großbuchstaben, Kennungen in Kleinbuchstaben)