Lorsque je sélectionne la date dans SQL, elle est renvoyée comme 2011-02-25 21:17:33.933
. Mais je n'ai besoin que de la partie Date, bien sûr 2011-02-25
. Comment puis-je faire ceci?
sql
sql-server
sql-server-2005
Neeraj
la source
la source
Réponses:
Je suppose qu'il veut une chaîne.
120 ici indique la fonction de conversion que nous passons la date d'entrée dans le format suivant :
yyyy-mm-dd hh:mi:ss
.la source
Pour SQL Server 2008:
Veuillez vous référer à https://docs.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql
la source
DATE
est nouveau en 2008.date
type de données, ce qui rend cette solution non valide.Le plus rapide est
datediff
, par exempleMais si vous avez seulement besoin d'utiliser la valeur, vous pouvez ignorer le dateadd, par exemple
où l'expression
datediff(d, 0, getdate())
est suffisante pour renvoyer la date du jour sans partie d'heure.la source
Utilisez CAST (GETDATE () comme date) qui a fonctionné pour moi, simple.
la source
CAST(order_date AS DATE)
http://www.bennadel.com/blog/122-Getting-Only-the-Date-Part-of-a-Date-Time-Stamp-in-SQL-Server.htm
la source
vous pouvez utiliser comme ça
la source
Pour l' ancienne version 2008 :
SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)
la source
Il est un peu tard, mais utilisez la fonction "curdate" ODBC (les crochets angulaires 'fn' est la séquence d'échappement de la fonction ODBC).
Production:
2013-02-01
la source
SELECT {fn curdate()} FROM (SELECT 1) AS T(X)
et regardez le plan d'exécution réel (version xml), vous verrez que ce qui est réellement exécuté l'estCONVERT(varchar(10),getdate(),23)
. Ainsi, le type de données de cette fonction ODBC estvarchar(10)
ce qui signifie que si vous voulez comparer le résultat avec un,datetime
vous obtiendrez une conversion implicite devarchar(10)
endatetime
sur une chaîneyyyy-mm-dd
. Cette conversion implicite échouera avecset dateformat dmy
.Vous pouvez également essayer celui-ci.
la source
Reconvertissez-le en datetime après la conversion en date afin de conserver le même datatime si nécessaire
la source
Si vous avez besoin de temps pour être des zéros comme
2018-01-17 00:00:00.000
:SELECT CONVERT(DATETIME, CONVERT(DATE, GETDATE()), 121)
la source
L'utilisation est simple:
Exemple ci-dessous:
Table:
la source
C'est trop tard, mais le suivi a bien fonctionné pour moi
Lorsque le type de données est la date, les heures seraient tronquées
la source
Dans PLSQL, vous pouvez utiliser
la source
Convertissez d'abord la date en float (qui affiche le numérique), puis
ROUND
le numérique en 0 décimal, puis convertissez-le en datetime.la source
Si vous souhaitez renvoyer un type de date comme une simple utilisation de date
ou
ou
la source
Essaye ça.
la source