web-dev-qa-db-fra.com

Format de date renvoyé sous la forme mm/jj/aaaa hh: mm: min AM

Je suis tout nouveau sur sql, mon entreprise vient de me jeter un peu la tête dans le vif et m'a dit de le faire. Donc, toute aide est grandement appréciée. J'essaie d'obtenir une date au format mm/jj/aaaa hh: mm: ss/min, par exemple une date du 26/09/2014 11:04:54. J'ai essayé d'utiliser le code:

Select Convert(nvarchar,EntryDate,101)
From DB1

Cependant, cela ne fait que revenir le 26/09/2014 . J'ai aussi essayé

Select Convert(nvarchar,EntryDate,100)
From DB1

mais cela revient 26 septembre 2014 11h04

Je ne sais pas où aller d'ici. Encore merci pour l'aide. BTW j'utilise SQL Server 2012.

8
Chad Portman

Puisque vous êtes sur SQL 2012, la fonction de formatage devrait fonctionner:

declare @date datetime = '2014-09-26 11:04:54'
select FORMAT(@date,'MM/dd/yyyy hh:mm:s tt')

résultat: 09/26/2014 11:04:54 AM

Dans votre cas ce serait:

Select FORMAT(EntryDate,'MM/dd/yyyy hh:mm:s tt')
From DB1
8
jpw
DECLARE @Date_Value DATETIME = GETDATE();


SELECT CONVERT(VARCHAR(10), @Date_Value, 101) + ' ' 
       + LTRIM(RIGHT(CONVERT(CHAR(20), @Date_Value, 22), 11))


RESULT: 09/26/2014 5:25:53 PM

Votre requête

SELECT CONVERT(VARCHAR(10), EntryDate, 101) + ' ' 
       + LTRIM(RIGHT(CONVERT(CHAR(20), EntryDate, 22), 11))
From DB1
13
M.Ali
    > select convert(varchar(20),GETDATE(),1)+' '+convert(varchar(20),convert(time,getdate()),100)
    > select convert(varchar(20),GETDATE(),103)+' '+convert(varchar(20),convert(time,getdate()),100)
    > select convert(varchar(20),GETDATE(),103)+' '+convert(varchar(20),convert(time,getdate()),22)


    > Result (1) :-  10/15/2018 11:22AM (mm/dd/yyyy hh:mm AM/PM)
    > Result (2):-  15/10/2018 11:22AM (dd/mm/yyyy hh:mm AM/PM)
    > Result (3):-  15/10/2018 11:22:35 AM (dd/mm/yyyy hh:mm:ss AM/PM)
1
Saikh Rakif

Combinant deux formats:

select convert(char(11),getdate(),103) 
      + stuff(right(convert(char(31),getdate(),130),14),9,4,' ')

rendements:

26/09/2014 12:29:09 PM
0
Pieter Geerkens

Encore une autre façon de résoudre le même problème, cela fonctionne.

Select Convert(char(10), getdate(),101) + Right(Convert(VarChar(20),getdate(),100),8)
0
Chad Portman

Vous devriez le faire pour convertir une date au format demandé par DATE_FORMAT (date, '% m% d% Y% h:% i% p'). Où date correspond à la date à laquelle vous souhaitez convertir.

J'espère que ça aide.

0
raz_c

Vous pouvez utiliser la fonction FORMAT dans SQL

SELECT FORMAT(@date,'MM/dd/yyyy hh:mm:s tt')
0
Raj K

UTILISER deux formats et les concaténer avec les fonctions REPLACE et SUBSTRING.

   select CONVERT(nvarchar(128), dbo.GetDateTime(@input), 101) + 
           REPLACE(SUBSTRING(CONVERT(nvarchar(128), 
           dbo.GetDateTime(@input), 109), 12 , 128),':000', ' ')
0
radar