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.
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
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
SELECT CONVERT(VARCHAR(10), EntryDate, 101) + ' '
+ LTRIM(RIGHT(CONVERT(CHAR(20), EntryDate, 22), 11))
From DB1
> 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)
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
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)
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.
Vous pouvez utiliser la fonction FORMAT dans SQL
SELECT FORMAT(@date,'MM/dd/yyyy hh:mm:s tt')
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', ' ')