日期:2014-05-18  浏览次数:20458 次

数据库中有一nvarchar类型的列,里边放的是日期2007-8-1现在想取月份,怎么取
数据库中有一nvarchar类型的列,里边放的是日期2007-8-1现在想取月份,怎么取
如果截取一段的话月份有可能是两位数,不能确定,请帮忙

------解决方案--------------------
declare @date nvarchar(10)
set @date= '2007-8-1 '
select month(@date)
------解决方案--------------------
datepart(month, '2007-8-1 ')
------解决方案--------------------
select month(cast(日期 as datetime)) 月份 from tb
------解决方案--------------------
declare @date nvarchar(10)
set @date= '2007-8-1 '

select month(cast(@date as datetime)) 月份

/*
月份
-----------
8

(所影响的行数为 1 行)
*/
------解决方案--------------------
select substring(@date,charindex( '- ',@date)+1,len(@date)-charindex( '- ',@date)-charindex( '- ',reverse(@date)))
------解决方案--------------------
楼主,,,用我这个...


declare @date nvarchar(10)
set @date= '2007-8-1 '

select DateName(month,cast(@date as datetime)) as monthColumn