|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Inscription : octobre 2007 Messages : 3 937 ![]() |
Bonjour
En C# il est possible de specifier le format d'affichage d'une date en spécifiant une chaine de formatage Exemple "yyyy-MM-dd HH:mm" donnera 2011-03-17 18:37 En googelant un peu pour Sql je trouve des solution beaucoup plus lourdes du genre : Code :
SELECT RIGHT('0' + rtrim(month(@d)),2) + '/' + RIGHT('0' + rtrim(day(@d)),2) + '/' + rtrim(year(@d)). Dois-je conclure que SQL n'a pas de methode de formatage spécifique pour les dates ?
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain) |
|
|
00
|
|
|
#2 | |
|
Membre Expert
![]() |
Citation:
Rappelons que ce n'est pas le rôle d'un SGBD de réaliser la présentation des données...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() |
Cet article cite les principaux format prédéfinis pour les datetime:
http://baptiste-wicht.developpez.com...rver/datetime/
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour
Le code que vous donnez s'ecrit plus simplement comme ceci : Code SQL :
si vous voulez un autre format, choisissez celui qui vous convient dans la doc de CONVERT Si vous ne trouvez pas celui qui vous convient... convertissez coté client, ce que d’ailleurs vous devriez faire dans tous les cas |
||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : octobre 2007 Messages : 3 937 ![]() |
Merci Aieuuuuu
Ce que je cherche a faire c'est ceci "yyyy-MM-dd HH:mm" pour donner ceci : 2011-03-17 18:37 Et je voudrais bien convertir de tout coeur du coté client pour echapper aux limites de la syntaxe SQL Mais je suis contraint de tout faire en SQL car le but est d'envoyer un mail pas trop mal formaté depuis MS SQL Server et donc sp_Send_DbMail Je crois que je vais devoir y aller a la pelle et la truelle
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain) |
|
|
00
|
|
|
#6 | ||||||||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 667 ![]() |
Bonjour,
Il "suffit" d'écrire : Code :
SELECT LEFT(CONVERT(varchar(19), GETDATE(), 120), 16) Maintenant tu veux peut être l'encapsuler dans une fonction, mais sache que la ré-utilisabilité du code en SQL n'est pas la même que dans un langage fonctionnel. Tu peux en faire une fonction scalaire : Code :
Code :
En revanche tu peux l'utiliser pour spécifier une colonne calculée. Tu peux aussi en faire une fonction table en ligne : Code :
Code :
Les deux fonctions sont utilisables dans une vue, et je pense que c'est ce que tu devrais faire pour ton mail @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||||||||
|
30
|
|
|
#7 |
|
Membre Expert
![]() Inscription : octobre 2007 Messages : 3 937 ![]() |
Décidement, ton aide est inestimable elsuket
Bon je comprends l'astuce du Left du mode 120 mais il fallait le voir avec ta benediction pour l'oser sans gène
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain) |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 667 ![]() |
Je te l'accorde pour le LEFT, mais pas pour le CONVERT
@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
Copyright © 2000-2012 - www.developpez.com