我在存储过程中运行下面的sql时出现转换错误,因为我无法将其转换为varchar
Declare @sql varchar(100)
Declare @ddtime datetime
set @ddtime = '2012-02-03 22:14:50.057'
set @sql = 'select * from table1 where tdate='+@ddtime
exec(@sql)
Run Code Online (Sandbox Code Playgroud)
Tar*_*ryn 10
您需要将其转换@ddtime为a,varchar因为您将其包含在字符串中:
Declare @sql varchar(100)
Declare @ddtime datetime
set @ddtime = '2012-02-03 22:14:50.057'
set @sql = 'select * from table1 where tdate= '''+ convert(nvarchar(25), @ddtime, 121) + ''''
exec(@sql)
Run Code Online (Sandbox Code Playgroud)
或者只是让你@ddtime作为一个varchar而不是一个datetime.
Declare @ddtime varchar(25)
Run Code Online (Sandbox Code Playgroud)
在convert(varchar(25), @ddtime, 121)叶您最初将其设置为相同格式的日期.