0
votes

Comment puis-je commander à la date actuelle de Linq / SQL?

Je vais chercher des données d'une table, mais je souhaite trier des données à l'aide d'une colonne "plancheddatedate" avec la date actuelle sur le dessus (si la date actuelle n'est pas la date la plus proche de la tête) et repose après cela même s'il y a une date ultérieure avec IT.

DATA P>

ScheduledDate

2019-08-27 11:49:57.087
2019-08-27 12:08:56.827    
2019-08-27 18:30:00.000    
2019-08-20 06:42:16.603
2019-08-20 06:47:33.970
2019-08-20 11:15:36.780 
2019-08-20 11:18:20.853
2019-08-20 11:18:56.120
2019-08-20 11:20:16.520
2019-08-20 11:21:09.600
2019-08-21 18:30:00.000
2019-08-21 18:30:00.000
2019-08-21 18:30:00.000
2019-08-22 18:30:00.000
2019-08-22 18:30:00.000
2019-08-22 18:30:00.000
2019-08-26 18:30:00.000
2019-08-28 18:30:00.000


2 commentaires

OrderbyDescendant ?


Où est votre code actuel?


4 Réponses :


1
votes

Vous pouvez utiliser une clé conditionnelle dans votre commande par : xxx


1 commentaires

Hey merci ces œuvres, savez-vous comment puis-je le faire en utilisant Linq?



0
votes

Probablement la manière la plus simple serait d'utiliser un opérateur syndical. Quelque chose comme ceci: xxx

Ce n'est pas merveilleusement performant car il nécessite deux relevés de sélection distincts, mais il est facile de lire et de maintenir.

EDIT: aucune idée de la façon de faire à Linq, mais cela fonctionne pour SQL Server.


0 commentaires

1
votes

Permet de supposer que votre table est des commandes xxx

Ceci trier la date actuelle d'abord et le reste des dates de la commande ascendante. Puisque vous voulez obtenir une date la plus proche sur le dessus lorsque d'aujourd'hui n'est pas disponible, vous devrez peut-être d'abord obtenir la date la plus proche avec une requête différente et remplacer aujourd'hui avec à proximitédate dans ce qui précède requête.

acclamations,


0 commentaires

0
votes

Ainsi, avec l'aide de la requête SQL de @gordonoff 'S SQL, j'ai créé la requête LINQ:

pour LINQ: P>

order by (case when convert(date, scheduleddate) = convert(date, getdate()) then 1 else 2 end),
scheduleddate asc


0 commentaires