我有一个表,其中有一个月份名称,类型为varchar。例如“ 11月”。我可以将其转换为日期字段吗?
CONVERT(DATETIME,main.ReportMonth) AS ReportMonthDate
CAST(main.ReportMonth AS DATETIME) AS ReportMonthDate
两者都会导致转换失败。
我正在使用SQL Server 2008。
您可以在输入值的末尾对字符串值进行硬编码。这样的事情。
declare @ReportMonth varchar(10) = 'November'
select cast(@ReportMonth + ' 1, 2015' as date)
或者,如果您想根据当前日期使年份部分动态化,则可以像这样稍作修改。
select cast(@ReportMonth + ' 1, ' + cast(datepart(year, getdate()) as char(4)) as date)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句