转换为日期时间和提取月份名称
问题描述:
我有一个格式'201501'的日期,我从Excel导入表,所以它不是在日期时间数据类型,我想提取/返回月份名称。如何将“201501”转换为日期时间,同时获取月份名称。转换为日期时间和提取月份名称
答
YYYYMMDD
是安全的,所以你可以:
;with t(example) as
(
select '201512'
)
select
cast(example + '01' as date) as [DATE],
datename(month, cast(example + '01' as date)) as [MONTH]
from t
DATE MONTH
2015-12-01 December
+0
谢谢,这完美地解决了它 –
答
select DATE_FORMAT(str_to_date(substring("201501",5,6),"%m"),"%M") ;
答
您可以使用下面的,如果你默认你的一天到每个月的第一天。
declare @dt varchar(10)
declare @year datetime
set @dt = '201501'
Set @year = convert(datetime,Substring(@dt, 1,4) + '-' + Substring(@dt, 5,2) + '-01')
select @year
答
Select DateName(month , DateAdd(month ,CAST(substring('201501',5,2) AS int),-1))
答
在这里你去:
declare @mydate as varchar(8);
set @mydate = '201501';
SELECT
DATENAME(MONTH,
CAST(
convert(VARCHAR(8), @mydate + CAST('01' AS VARCHAR(2)), 112)
AS DATETIME))
输出:January
答
你不能直接转换这为DateTime。 我建议的一个选择是将它分成年份和月份,然后通过添加01作为日期例如创建它:如果格式为YYYY/MM/DD,那么2015/01/01 并最终使用此 选择日期名称(月,'2015/01/01')
那么那天是几号? 'YYYYMM'? –
是YYYYMM @AlexK –
日期时间值应该是多少? –