J'ai une période de 201604 (de type nvarchar). Est-il possible que je peux convertir 201604
de APR16
?
Réponses
Trop de publicités?
Bridge
Points
8880
C'est un peu moche, mais vous ne pouvez pas utiliser de l'intégré dans le formatage de la date des trucs comme est. Se sentir libre échange de l'instruction du cas d'une jointure si vous disposez d'un mois, les noms de table, etc.:
DECLARE @exampleVal NVARCHAR(6) = '201604';
SELECT CASE SUBSTRING(@exampleVal, 5, 2)
WHEN '01' THEN 'JAN'
WHEN '02' THEN 'FEB'
WHEN '03' THEN 'MAR'
WHEN '04' THEN 'APR'
WHEN '05' THEN 'MAY'
WHEN '06' THEN 'JUN'
WHEN '07' THEN 'JUL'
WHEN '08' THEN 'AUG'
WHEN '09' THEN 'SEP'
WHEN '10' THEN 'OCT'
WHEN '11' THEN 'NOV'
WHEN '12' THEN 'DEC'
END +
SUBSTRING(@exampleVal, 3, 2)
Joe Taras
Points
4050
Essayez ceci:
Ajouter '01' (comme le premier jour du mois), afin de convertir votre varchar datetime et obtenir le datename du mois:
declare @myperiod nvarchar(10)
SET @myperiod = '201604'
SET @myperiod = @myperiod + '01'
SELECT UPPER(SUBSTRING(DATENAME(month, CONVERT(datetime, @myperiod)), 1, 3)) +
SUBSTRING(CONVERT(varchar, DATEPART(year, CONVERT(datetime, @myperiod))), 3, 4)
TheGameiswar
Points
21
Whencesoever
Points
1458