Lorsque je sélectionne la date en SQL, il est retourné sous la forme 2011-02-25 21:17:33.933
. Mais je n'ai besoin que de la partie Date, c'est-à-dire 2011-02-25
. Comment puis-je faire ceci?
Je suppose qu'il veut une ficelle
select convert(varchar(10), '2011-02-25 21:17:33.933', 120)
Pour SQL Server 2008:
Convert(date, getdate())
Veuillez vous référer à https://docs.Microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql
Le plus rapide est datediff
, par exemple.
select dateadd(d, datediff(d,0, [datecolumn]), 0), other..
from tbl
Mais si vous ne devez utiliser que la valeur, vous pouvez ignorer le dateadd, par exemple.
select ...
WHERE somedate <= datediff(d, 0, getdate())
où l'expression datediff(d, 0, getdate())
est suffisante pour renvoyer la date d'aujourd'hui sans partie d'heure.
Utilisez CAST (GETDATE () comme date) qui a fonctionné pour moi, simple.
CAST(
FLOOR(
CAST( GETDATE() AS FLOAT )
)
AS DATETIME
)
http://www.bennadel.com/blog/122-Getting-Only-the-Date-Part-of-a-Date-Time-Stamp-in-SQL-Server.htm
tu peux utiliser comme ça
SELECT Convert(varchar(10), GETDATE(),120)
Vous pouvez essayer celui-ci aussi.
SELECT CONVERT(DATE, GETDATE(), 120)
C'est un peu tard, mais utilisez la fonction "<curdate" ODBC (les crochets "fn" est la séquence d'échappement de la fonction ODBC).
SELECT {fn curdate()}
Sortie: 2013-02-01
Reconvertissez-le en date-heure après la conversion en date afin de conserver la même date si nécessaire
select Convert(datetime, Convert(date, getdate()) )
L'utilisation est simple:
convert(date, Btch_Time)
Exemple ci-dessous:
Table:
Efft_d Loan_I Loan_Purp_Type_C Orig_LTV Curr_LTV Schd_LTV Un_drwn_Bal_a Btch_Time Strm_I Btch_Ins_I
2014-05-31 200312500 HL03 NULL 1.0000 1.0000 1.0000 2014-06-17 11:10:57.330 1005 24851e0a-53983699-14b4-69109
Select * from helios.dbo.CBA_SRD_Loan where Loan_I in ('200312500') and convert(date, Btch_Time) = '2014-06-17'
Si vous voulez renvoyer un type de date en tant que simple utilisation de date
CONVERT(date, SYSDATETIME())
ou
SELECT CONVERT(date,SYSDATETIME())
ou
DECLARE @DateOnly Datetime
SET @DateOnly=CONVERT(date,SYSDATETIME())
Dans PLSQL, vous pouvez utiliser
to_char(SYSDATE,'dd/mm/yyyy')
Dans le cas où vous avez besoin de temps pour être des zéros:
SELECT CONVERT(DATETIME, CONVERT(DATE, GETDATE()), 120)
SÉLECTIONNER la date ('2011-02-25 21: 17 - 33.933') car la date nous en donnera le 2011-02-25.
Travaillé pour moi Esperons que ça marche.
Commencez par convertir la date en virgule flottante (qui affiche le chiffre), puis par ROUND
le chiffre en 0 décimale, puis convertissez-la en date/heure.
convert(datetime,round(convert(float,orderdate,101),0) ,101)
Essaye ça.
SELECT DATEADD(DD, 0, DATEDIFF(DD, 0, GETDATE()))