Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 月底问题_Sql Server 2005_Sql Server 2008 - Fatal编程技术网

Sql server 2005 月底问题

Sql server 2005 月底问题,sql-server-2005,sql-server-2008,Sql Server 2005,Sql Server 2008,我有下面的查询,它通过传递月份名称和年份来给出月份的最后一天,但不知道如何以类似的方式获得第一天 declare @month int, @year int select @month=1,@year=2011 select Convert(varchar(20),dateadd(year,@year-1900,dateadd(month,@month,0)-1), 105) 我没有使用SQL Server的经验,但根据您的代码,我猜答案是: declare @month int, @yea

我有下面的查询,它通过传递月份名称和年份来给出月份的最后一天,但不知道如何以类似的方式获得第一天

declare @month int, @year int
select @month=1,@year=2011

select Convert(varchar(20),dateadd(year,@year-1900,dateadd(month,@month,0)-1), 105)

我没有使用SQL Server的经验,但根据您的代码,我猜答案是:

declare @month int, @year int
select @month=1,@year=2011

select Convert(varchar(20),dateadd(year,@year-1900,dateadd(month,@month-1,0)), 105)

将其保存在datetime域中,找到下个月的第一天,然后减去一天

SELECT
    dateadd(day, -1, dateadd(year, @year-1900, dateadd(month, @month, 0)))
几乎所有使用CAST或varchar的内容都是不确定的,并且不是language/@DATEFORMAT安全的