如以下这句:@str nvarchar(1000)
set @str='select TopicID from ttt where ID='+@ID+' ORDER BY lastposttime desc'这样就不行,一定改成
ID='+ CONVERT(nvarchar,@ID) +'但ID我之前已经声明为 int 了。
难道每次set @str =时 都要重新转换吗?那样不是太麻烦了?
set @str='select TopicID from ttt where ID='+@ID+' ORDER BY lastposttime desc'这样就不行,一定改成
ID='+ CONVERT(nvarchar,@ID) +'但ID我之前已经声明为 int 了。
难道每次set @str =时 都要重新转换吗?那样不是太麻烦了?
set @str='select TopicID from ttt where ID='''+ltrim(@ID)+''' ORDER BY lastposttime desc'
或
declare @str nvarchar(1000)
set @str='select TopicID from ttt where ID='''+rtrim(@ID)+''' ORDER BY lastposttime desc'
set @str='select TopicID from ttt where ID='+cast(@ID as varchar)+' ORDER BY lastposttime desc' set @str='select TopicID from ttt where ID='+convert(varchar,@ID)+' ORDER BY lastposttime desc' 这两种.
set @str='select TopicID from ttt where ID='+ltrim(@ID)+' ORDER BY lastposttime desc'
@id_str nvarchar(100)
@id_str=convert(varchar,@ID)然后:
set @str='select TopicID from ttt where ID='+@id_str+' ORDER BY lastposttime desc'ltrim(@ID) 和 convert(varchar,@ID) 有什么区别啊?