为什么这个查询只给我" 1月"作为输出而不是当月?
select cast(datename(month,datepart(mm,getdate()))as char(15))
答案 0 :(得分:2)
摆脱DATEPART
电话。 DATENAME
的第二个参数应为datetime
;你试图给它一个整数。
select cast(datename(month,getdate()) as char(15))
答案 1 :(得分:1)
要添加到Cory的解释,datepart(mm,getdate())
会给你一个值10.再次将它提供给datename
函数将其传递给1900年1月11日的日期'作为一个论点,因为值10从1900年1月1日起被视为10天。这就是为什么datename
返回的月份是1月。