J'ai une table avec un champ datetimeoffset qui est la clé primaire. Je veux filtrer ma table avec un datetime.SELECT un champ datetimeoffset par datetime
Par exemple ma table a:
2016-04-27 23:30:00.7684500 +03:00
2016-04-28 00:30:00.7684500 +03:00
En format de l'heure locale, première ligne signifie 29/04/2016 02:30:00 et deuxième rangée signifie 28/04/2016 03:30:00. Je veux dire deux d'entre eux en date: 2016-04-28.
Lorsque je voulais signaler des transactions en date du 28 avril 2016, je ne reçois que la deuxième ligne. Car, sql regarde l'heure UTC dans le champ datetimeoffset
declare @fromDate datetime
select @fromDate = '2016-04-28 00:00:00'
select * from MYTABLE where dto > @fromDate
je peux obtenir ce que je veux vraiment comme ça:
declare @fromDate datetime
select @fromDate = '2016-04-28 00:00:00'
select * from MYTABLE where CAST(dto as datetime) > @fromDate
première et deuxième rangées arrivantes.
La question est de savoir si j'ai perdu des performances pour le casting? Système regardant et coulant chaque rangée (lecture séquentielle), même si dto est la clé primaire?
Y a-t-il un meilleur moyen?
Un grand merci ...
Tag les DBMS utilisés. (Ce code ne ressemble pas à ANSI SQL ...) – jarlh
Merci. C'est MS SQL Server 2014. –