Obtenir la date de demain

j'essaie d'obtenir la date de tomorrows dans une déclaration sql pour une comparaison de date mais cela ne fonctionne pas.

ci-dessous est mon code:

select * 
from tblcalendarentries
where convert(varchar,tblcalendarentries.[Start Time],101) 
      = convert(varchar, GETDATE() +1, 101)
20
demandé sur Tanner 2013-04-16 13:56:44

5 réponses

pour obtenir la date de demain, vous pouvez utiliser le code ci-dessous qui ajoutera 1 jour à la date du système actuel:

SELECT DATEADD(day, 1, GETDATE())

GETDATE ()

renvoie l'horodatage actuel du système de base de données en tant que valeur datetime sans décalage du fuseau horaire de la base de données. Cette valeur est dérivée du système d'exploitation de L'ordinateur sur lequel L'instance de SQL Server est en cours d'exécution.

DATEADD (datepart, number , date)

Retourne une date spécifiée avec le nombre spécifié de l'intervalle (entier signé) ajouté à une partie de cette date.

donc ajouter ceci à votre code dans le WHERE l'article:

WHERE CONVERT(VARCHAR, tblcalendarentries.[Start Time], 101) = 
      CONVERT(VARCHAR, DATEADD(DAY, 1, GETDATE()), 101);

tout d'Abord, GETDATE() vous obtiendrez la date d'aujourd'hui dans le format suivant:

2013-04-16 10:10:02.047

puis en utilisant DATEADD(), vous permet d'ajouter (ou soustraire si nécessaire), une date ou un intervalle de temps à partir d'une date spécifiée. Ainsi l'intervalle pourrait être: année, mois, jour, heure, minute, etc.

travailler avec des fuseaux horaires?

Si vous travaillez avec des systèmes de traverser les fuseaux horaires, vous pouvez aussi envisager d'utiliser GETUTCDATE():

GETUTCDATE ()

renvoie le timestamp actuel du système de base de données comme valeur datetime. Le décalage horaire de la base de données n'est pas inclus. Cette valeur représente L'heure UTC courante (coordonnée Temps Universel). Cette valeur est dérivée du système d'exploitation de L'ordinateur sur lequel L'instance de SQL Server est en cours d'exécution.

33
répondu Tanner 2017-09-26 13:19:52

Essayez de le ci-dessous:

SELECT GETDATE() + 1

cela ajoute un jour à la date actuelle

5
répondu SMS 2013-04-16 10:03:38

spécifiez la taille de varcharconvert()

where convert(varchar(11),tblcalendarentries.[Start Time],101) = convert(varchar(11), GETDATE() +1, 101)
2
répondu Mudassir Hasan 2013-04-16 10:02:07

je voudrais écrire:

where
  DATEADD(day,DATEDIFF(day,0,tblcalendarentries.[Start Time]),0) =
  DATEADD(day,DATEDIFF(day,0,GETDATE()),1)

cela évite de convertir les dates en chaînes entièrement, tout en enlevant la portion de temps des deux valeurs.

0
répondu Damien_The_Unbeliever 2013-04-16 10:21:31

je pense que si vous ajoutez un à la date, il donnera la date du lendemain.

 DATE+1

ça devrait aller. Désolé, je n'ai pas accès à code SQL SERVER ici pour fournir du code

-2
répondu Santhosh 2013-04-16 10:00:42