il est appelé "le parquet datetime", de faire comme ceci pour supprimer juste le temps (c'est la méthode la plus rapide, plus rapide que d'utiliser la fonction CONVERT() ou CAST() piqûre de mise en forme):
ici est de savoir comment le faire pour les autres parties d'un datetime:
--Floor a datetimeDECLARE@datetime datetime;SET@datetime ='2008-09-17 12:56:53.430';SELECT'0 None',@datetime -- none 2008-09-17 12:56:53.430UNIONSELECT'1 Second',DATEADD(second,DATEDIFF(second,'2000-01-01',@datetime),'2000-01-01')-- Second: 2008-09-17 12:56:53.000UNIONSELECT'2 Minute',DATEADD(minute,DATEDIFF(minute,0,@datetime),0)-- Minute: 2008-09-17 12:56:00.000UNIONSELECT'3 Hour', DATEADD(hour,DATEDIFF(hour,0,@datetime),0)-- Hour: 2008-09-17 12:00:00.000UNIONSELECT'4 Day', DATEADD(day,DATEDIFF(day,0,@datetime),0)-- Day: 2008-09-17 00:00:00.000UNIONSELECT'5 Month', DATEADD(month,DATEDIFF(month,0,@datetime),0)-- Month: 2008-09-01 00:00:00.000UNIONSELECT'6 Year', DATEADD(year,DATEDIFF(year,0,@datetime),0)-- Year: 2008-01-01 00:00:00.000ORDERBY1PRINT' 'PRINT'Note that when you are flooring by the second, you will often get an arithmetic overflow if you use 0. So pick a known value that is guaranteed to be lower than the datetime you are attempting to floor'PRINT'this always uses a date less than the given date, so there will be no arithmetic overflow'SELECT'1 Second',DATEADD(second,DATEDIFF(second,DATEADD(day,DATEDIFF(day,0,@datetime),0)-1,@datetime),DATEADD(day,DATEDIFF(day,0,@datetime),0)-1)-- Second: 2008-09-17 12:56:53.000
De SORTIE:
-------- -----------------------0 None 2008-09-1712:56:53.4301 Second 2008-09-1712:56:53.0002 Minute 2008-09-1712:56:00.0003 Hour 2008-09-1712:00:00.0004 Day 2008-09-1700:00:00.0005 Month 2008-09-0100:00:00.0006 Year 2008-01-0100:00:00.000(7row(s) affected)
Note that when you are flooring by the second, you will often get an arithmetic overflow if you use0. So pick a known value that is guaranteed to be lower than the datetime you are attempting to floor
this always uses a date less than the given date, so there will be no arithmetic overflow
-------- -----------------------1 Second 2008-09-1712:56:53.000(1row(s) affected)
SELECT creation_date
FROM risks
WHERE creation_date = GETDATE()
Ce sera le retour de tous les creation_date valeurs stockées dans la risks table qui sont exactement les mêmes que ce qui est retourné par la GETDATE() fonction. Je suis en supposant que le type de données de creation_date est Date.
mais ce ne sera pas de retour l'creation_date valeurs que sont la date d'aujourd'hui. N'est-ce pas ce qui est fait witn creation_date = getdate() Vous n'avez pas le spécifier dans votre question. J'étais censé le deviner?
Vous avez juste besoin d'inclure creation_date dans votre clause select comme ceci:
select id, creation_date from risks where creation_date = getdate()
essayé il se complique pas de travail....devez avoir à les convertir quelque part sélectionnez creation_date de WEB_RISK_RISK où CREATION_DATE=GETDATE(). p.s. il y a un enregistrement qui a été viser aujourd'hui.
Si vous utilisez SQL Server 2008, il est maintenant un type de données de DATE. Il est beaucoup plus naturel!
OriginalL'auteur AdaTheDev
il est appelé "le parquet datetime", de faire comme ceci pour supprimer juste le temps (c'est la méthode la plus rapide, plus rapide que d'utiliser la fonction CONVERT() ou CAST() piqûre de mise en forme):
De SORTIE:
ici est de savoir comment le faire pour les autres parties d'un datetime:
De SORTIE:
OriginalL'auteur KM.
Si j'étais à votre question de droit,
select convert(varchar, creation_date , 103) as creation_date from tablename
Regarder CAST et CONVERT
OriginalL'auteur Chendur Pandian
Ici:
Ce sera le retour de tous les
creation_date
valeurs stockées dans larisks
table qui sont exactement les mêmes que ce qui est retourné par laGETDATE()
fonction. Je suis en supposant que le type de données decreation_date
estDate
.Vous n'avez pas le spécifier dans votre question. J'étais censé le deviner?
OriginalL'auteur Oded
Vous avez juste besoin d'inclure creation_date dans votre clause select comme ceci:
OriginalL'auteur BenR
Vous pouvez toujours utiliser le format mois/jour/année de fonctions à retourner:
OriginalL'auteur Thyamine