convert转换
declare   @Month   nchar(10)		 
 set   @Month   =   convert(nvarchar(10), '2007-12-4 '   ,11) 
 select   @Month 
 怎么得不到我想要的月啊,并且   2007-12-4   也没转换过来,应该是12/4/2007的
------解决方案--------------------select month( '2007-12-4 ')
------解决方案--------------------declare @Month nchar(10)		 
 set @Month = convert(nvarchar(5),cast( '2007-12-4 ' as datetime),11) 
 select @Month 
------解决方案--------------------  在函数CONVERT()中你可以使用许多种不同风格的日期和时间格式。表11.1显示了所有的格式。   
 表11.1  日期和时间的类型 
 类型值            标准             输出 
    0                 Default           mon dd yyyy hh:miAM 
    1                 USA               mm/dd/yy 
    2                 ANSI              yy.mm.dd 
    3                 British/French    dd/mm/yy 
    4                 German            dd.mm.yy 
    5                 Italian           dd-mm-yy 
    6                 -                 dd mon yy 
    7                 -                 mon dd,yy 
    8                 -                 hh:mi:ss 
 9	                    Default + milliseconds--mon dd yyyy 
 hh:mi:ss:mmmAM(or ) 
    10                USA              mm-dd-yy 
    11                JAPAN            yy/mm/dd 
    12                ISO              yymmdd 
    13                Europe           Default + milliseconds--dd mon yyyy 
                                        hh:mi:ss:mmm(24h) 
    14                 -                hh:mi:ss:mmm(24h)   
    类型0,9,和13总是返回四位的年。对其它类型,要显示世纪,把style值加上100。类型13和14返回24小时时钟的时间。类型0,7,和13返回的月份用三位字符表示(用Nov代表November).   
 对表11.1中所列的每一种格式,你可以把类型值加上100来显示有世纪的年(例如,00年将显示为2000年)。例如,要按日本标准显示日期,包括世纪,你应使用如下的语句:   
 SELECT CONVERT(VARCHAR(30),GETDATE(),111)   
     在这个例子中,函数CONVERT()把日期格式进行转换,显示为1997/11/30
------解决方案--------------------declare @Month nchar(10) 
 set @Month = convert(nvarchar(2),cast( '2007-12-4 ' as datetime),11) 
 select @Month 
 取到的就是月了哦,嘿嘿!!
------解决方案--------------------怎么得不到我想要的月啊,并且 2007-12-4 也没转换过来,应该是12/4/2007的 
 ---------------- 
 你到底是想要月,还是12/4/2007   
 想要月:bill024(咖啡熊) 的方法即可. 
 否则: 
 declare @Month nchar(10) 
 set @Month = convert(nvarchar(10),cast( '2007-12-4 ' as datetime),101) 
 select @Month