-
Format de date
Salut,
j'ai une date sous cette forme : 7/28/2007 dans le champ [Date]
j'aimerai afficher sous le champ [champ1] un fomat : 200707 (soit l'année et le mois)
J'utilise le code suivant :
update [SIOP_Daily_Picture].[dbo].[date]
set [champ1]= DATEPART(year, [Date])
donc cela ne me retourne que l'année mais si je met : year.month cela ne me retourne que le mois. Impossible de trouver le moyen d'avoir mon format : year, month soit pour ce mois de janvier 200801 etc ...
SI quelqu'un est en mesure de m'aider : merci
Je profite aussi de soumettre une seconde question :
CREATE VIEW dbo.[DMD]
AS
SELECT
[LVSDB].[dbo].[SCP_FCST_TIME_SERIES].[FCST_YR_PRD] AS [YEAR_MONTH],
RTRIM(LTRIM(SUBSTRING([LVSDB].[dbo].[SCP_FCST_ROOT].[FCST_ID], 1, 18))) AS [Item],
SUBSTRING([LVSDB].[dbo].[SCP_FCST_ROOT].[FCST_ID], 19, 8) AS [Dist_Node],
SUM([LVSDB].[dbo].[SCP_FCST_TIME_SERIES].[DMD_ACTL_QTY]) AS [DMD]
FROM [LVSDB].[dbo].[SCP_FCST_ROOT]
INNER JOIN [LVSDB].[dbo].[SCP_FCST_TIME_SERIES]
ON [LVSDB].[dbo].[SCP_FCST_ROOT].[SCP_SEQ_NBR] = [LVSDB].[dbo].[SCP_FCST_TIME_SERIES].[SCP_SEQ_NBR]
WHERE [LVSDB].[dbo].[SCP_FCST_ROOT].[LVL_PATRN_IND] = 'N'
AND [LVSDB].[dbo].[SCP_FCST_ROOT].[SCP_SEL_SET_ID] = '0000000000'
AND [LVSDB].[dbo].[SCP_FCST_ROOT].[LVL_NBR] = 2
AND [LVSDB].[dbo].[SCP_FCST_TIME_SERIES].[DMD_ACTL_QTY] <> 0
AND [LVSDB].[dbo].[SCP_FCST_TIME_SERIES].[FCST_YR_PRD] = 200712
GROUP BY
[LVSDB].[dbo].[SCP_FCST_TIME_SERIES].[FCST_YR_PRD],
RTRIM(LTRIM(SUBSTRING([LVSDB].[dbo].[SCP_FCST_ROOT].[FCST_ID], 1, 18))),
SUBSTRING([LVSDB].[dbo].[SCP_FCST_ROOT].[FCST_ID], 19, 8)
GO
dans le code qui ci-dessus j'extrai une demande pour le mois de décembre 2007 (200712), je souhaiterais en revanche extraire la demande des 12 derniers mois (group by mois) comment puis-je trouver une condition where qui m'éviterais de rentrer manuellement tous les mois manuellement dans mes filres mais plutôt quelque chose du type add_month (date, -12) mais impossible la encore de l'appliquer. Merci
-
La notion de format de date n'existe pas. Une date est un type DATE en SQL.
Donnez vous la peine de charchez noius avons fait 2 articles sur le sujet :
http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L7
http://baptiste-wicht.developpez.com...-sql/datetime/
Donc pour solutionner votre problème :
Code:
SELECT CONVERT(CHAR(6), madate, 112)
Au passage c'est un hérésie d'intituler un nom de colonnes avec un mot réservé de SQL comme "date" ! Cela ne peut vous attirer que des problèmes.
Pour votre vue le mieux serait d'implémenter une table des dates comme indiqué dans l'article que j'ai écrit et de faire un RIGHT OUTER JOIN sur cete table avec un GROUP BY AN, MOIS.
http://sqlpro.developpez.com/cours/gestiontemps/
A +
-
Merci pour votre réponse, il est vrai que j'aurai pu le trouver par moi-même.