Ich habe eine Tabelle mit einem Datetimeoffset-Feld, das Primärschlüssel ist. Ich möchte meine Tabelle mit einer Datetime filtern.WÄHLEN Sie ein Datetimeoffset-Feld von Datetime
Zum Beispiel meiner Tabelle hat:
2016-04-27 23:30:00.7684500 +03:00
2016-04-28 00:30:00.7684500 +03:00
In Ortszeit Format, erste Reihe bedeutet 2016.04.29 02.30.00 und zweite Reihe bedeutet 2016.04.28 03.30.00. Ich meine zwei von ihnen in Datum: 2016-04-28.
Wenn ich Transaktionen im Datum 2016-04-28 melden wollte, bekomme ich nur die zweite Zeile.
declare @fromDate datetime
select @fromDate = '2016-04-28 00:00:00'
select * from MYTABLE where dto > @fromDate
Da, sql UTC-Zeit in datetimeoffset Feld suchen.
kann ich bekommen, was ich will, wie das wirklich:
declare @fromDate datetime
select @fromDate = '2016-04-28 00:00:00'
select * from MYTABLE where CAST(dto as datetime) > @fromDate
Erste und zweite Reihe comming sind.
Die Frage ist, dass ich Leistung für Casting verloren habe? System sucht und spielt jede Zeile (sequentielles Lesen), auch wenn dto der Primärschlüssel ist?
Gibt es einen besseren Weg?
Vielen Dank ...
Tag die dbms verwendet. (Dieser Code sieht nicht wie ANSI SQL aus ...) – jarlh
Vielen Dank. Es ist MS SQL Server 2014. –