Sql server 无法转换为日期/时间。查看@LastLogin的内容,它的格式不正确。您的数据类型不正确。如果您像在本过程中那样在所有代码中快速而随意地使用数据类型,您将继续得到这样的错误。您传入的字符串(长度为100?)无法转换为日期/时间。查看@LastLogin的内

Sql server 无法转换为日期/时间。查看@LastLogin的内容,它的格式不正确。您的数据类型不正确。如果您像在本过程中那样在所有代码中快速而随意地使用数据类型,您将继续得到这样的错误。您传入的字符串(长度为100?)无法转换为日期/时间。查看@LastLogin的内,sql-server,stored-procedures,Sql Server,Stored Procedures,无法转换为日期/时间。查看@LastLogin的内容,它的格式不正确。您的数据类型不正确。如果您像在本过程中那样在所有代码中快速而随意地使用数据类型,您将继续得到这样的错误。您传入的字符串(长度为100?)无法转换为日期/时间。查看@LastLogin的内容,它的格式不正确。 create proc abc -- 'all','18','18','12/12/2015','','','inactive' @JoinedDate varchar(100), @LastLogi


无法转换为日期/时间。查看
@LastLogin
的内容,它的格式不正确。您的数据类型不正确。如果您像在本过程中那样在所有代码中快速而随意地使用数据类型,您将继续得到这样的错误。您传入的字符串(长度为100?)无法转换为日期/时间。查看
@LastLogin
的内容,它的格式不正确。
create proc abc -- 'all','18','18','12/12/2015','','','inactive'   
@JoinedDate varchar(100),        
@LastLogin varchar(100),        
@Location varchar(100),        
@Status varchar(50) 

as        
declare @WhereCondition varchar(1000)   

set @WhereCondition=' '        
if @LastLogin !=''        
set @WhereCondition= ' and u.UpdatedDate>=' + CAST(@LastLogin as datetime) 

exec('select * from tableName where' + @WhereCondition)
set @WhereCondition= ' and u.UpdatedDate>=CAST(''' + @LastLogin + ''' AS datetime)'
create proc abc -- 'all','18','18','12/12/2015','','','inactive'   
    @JoinedDate  datetime,        
    @LastLogin   datetime,        
    @Location    varchar(100),        
    @Status      varchar(50) 
AS
BEGIN
  SET NOCOUNT ON;
  DECLARE @Sql NVARCHAR(MAX);   

SET @Sql = N'select * from tableName where 1 = 1 '
      + CASE WHEN @LastLogin <> ''
        THEN N' AND UpdatedDate >= @LastLogin' ELSE N'' END

 Exec sp_executesql @Sql
                   ,N'@LastLogin datetime'
                   ,@LastLogin
END
set @WhereCondition= ' and u.UpdatedDate>=convert(datetime,''' +  @LastLogin + ''', 110)'