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)'