OVH Cloud OVH Cloud

Convertir une date en string

3 réponses
Avatar
Mel
Bonjour,
J'ai cherché dans l'aide et essayé plusieurs choses mais je n'ai rien trouvé
de simple. Voici donc mon besoin:
J'ai une date (de type datetime) que je voudrais convertir en string pour
l'avoir dans le format suivant: 2004-11-25. Lorsque j'utilise convert ou
cast j'obtiens le résultat suivant nov 25 2004 10:02AM . J'ai fais un bout
de code qui correspond à ce que je veux mais ce n'est pas très pratique étant
donné la longueur...

declare @DateDuJour nvarchar(30)

set @DateDuJour = ltrim(str(year(getdate()))) +
'-' +
case
when len(month(getdate())) < 2
then '0' + ltrim(str(month(getdate())))
else ltrim(str(month(getdate())))
end
+ '-' +
case
when len(day(getdate())) < 2
then '0' + ltrim(str(day(getdate())))
else ltrim(str(day(getdate())))
end

Est-ce qu'il y a un moyen plus simple ??
Merci beaucoup,

Mélanie

3 réponses

Avatar
bruno reiter [MVP]
regardes l'aide à CAST et CONVERT

br

"Mel" wrote in message
news:
Bonjour,
J'ai cherché dans l'aide et essayé plusieurs choses mais je n'ai rien


trouvé
de simple. Voici donc mon besoin:
J'ai une date (de type datetime) que je voudrais convertir en string pour
l'avoir dans le format suivant: 2004-11-25. Lorsque j'utilise convert ou
cast j'obtiens le résultat suivant nov 25 2004 10:02AM . J'ai fais un


bout
de code qui correspond à ce que je veux mais ce n'est pas très pratique


étant
donné la longueur...

declare @DateDuJour nvarchar(30)

set @DateDuJour = ltrim(str(year(getdate()))) +
'-' +
case
when len(month(getdate())) < 2
then '0' + ltrim(str(month(getdate())))
else ltrim(str(month(getdate())))
end
+ '-' +
case
when len(day(getdate())) < 2
then '0' + ltrim(str(day(getdate())))
else ltrim(str(day(getdate())))
end

Est-ce qu'il y a un moyen plus simple ??
Merci beaucoup,

Mélanie


Avatar
Lionel Gomes
select convert(char(10),getdate(),121)
hth
Lionel
Avatar
Mel
Bonjour Bruno,
Maintenant ça fonctionne. J'ai ajouté un style à la fonction convert mais
comme je ne voulais pas la partie sur l'heure j'ai mis la longueur de
nvarchar à 10 et j'obtiens
juste la partie de la date.
Mélanie
"bruno reiter [MVP]" wrote:

regardes l'aide à CAST et CONVERT

br

"Mel" wrote in message
news:
> Bonjour,
> J'ai cherché dans l'aide et essayé plusieurs choses mais je n'ai rien
trouvé
> de simple. Voici donc mon besoin:
> J'ai une date (de type datetime) que je voudrais convertir en string pour
> l'avoir dans le format suivant: 2004-11-25. Lorsque j'utilise convert ou
> cast j'obtiens le résultat suivant nov 25 2004 10:02AM . J'ai fais un
bout
> de code qui correspond à ce que je veux mais ce n'est pas très pratique
étant
> donné la longueur...
>
> declare @DateDuJour nvarchar(30)
>
> set @DateDuJour = ltrim(str(year(getdate()))) +
> '-' +
> case
> when len(month(getdate())) < 2
> then '0' + ltrim(str(month(getdate())))
> else ltrim(str(month(getdate())))
> end
> + '-' +
> case
> when len(day(getdate())) < 2
> then '0' + ltrim(str(day(getdate())))
> else ltrim(str(day(getdate())))
> end
>
> Est-ce qu'il y a un moyen plus simple ??
> Merci beaucoup,
>
> Mélanie