我有'201501'格式的日期,我从excel导入表,所以它不是datetime数据类型,我想提取/返回月份名称。如何将此'201501'转换为日期时间,同时获取月份名称。
答案 0 :(得分:2)
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
答案 1 :(得分:0)
select DATE_FORMAT(str_to_date(substring("201501",5,6),"%m"),"%M") ;
答案 2 :(得分:0)
如果您将某一天默认为每个月的第一天,则可以使用以下内容。
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
答案 3 :(得分:0)
Select DateName( month , DateAdd( month ,CAST( substring('201501',5,2) AS int),-1))
答案 4 :(得分:0)
你走了:
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
答案 5 :(得分:0)
您无法直接将此转换为日期时间。 我建议的一个选项是将其拆分为年份和月份,然后通过添加01作为日期ex来创建任何日期格式:如果格式为YYYY / MM / DD则2015/01/01 并最终使用这个 选择日期名称(月份,' 2015/01/01')