IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'UserLogInfoSelectByConditions')
	BEGIN
		DROP  Procedure  UserLogInfoSelectByConditions
	END

GO
/***********************************************
***功能描述：根据条件获取用户登录日志
***传入传出参数：
***	@UserID：用户ID
***	@BeginTime：查询日志开始时间
***	@EndTime：查询日志结束时间

***作者：
***建立时间:2009-1-6
***更改时间：
***更改人：
***更改原因：
****************************************************/
CREATE PROCEDURE UserLogInfoSelectByConditions
	(
	@UserID int,
	@BeginTime datetime,
	@EndTime datetime
	)
AS
declare @TempTime datetime
--如果开始时间大于结束时间，就调换过来
IF(@BeginTime<>'1900-1-1' AND @EndTime<>'1900-1-1')
	BEGIN
	IF(@BeginTime>@EndTime)
	BEGIN
		SET @TempTime = @BeginTime
		SET @BeginTime = @EndTime
		SET @EndTime = @TempTime
	END
	IF(@BeginTime=@EndTime)
	BEGIN
		SET @EndTime = DateAdd(day,1,@EndTime)
	END
END


declare @sql as nvarchar(1000)
set @sql = 'SELECT * FROM [dbo].[UserLogInfo] WHERE 1=1'
if @UserID <> 0
	set @sql = @sql + ' and UserID=' + CAST(@UserID AS VARCHAR(30))
if @BeginTime<>'1900-1-1'
	set @sql = @sql + ' and LogTime>''' + CAST(@BeginTime AS VARCHAR(30)) + ''''
if @EndTime<>'1900-1-1'
	set @sql = @sql + ' and LogTime<''' + CAST(@EndTime AS VARCHAR(30)) + ''''

exec sp_executesql @sql
GO