字符串NULL我有写的字符串,然后执行使用命令Exec的(字符串)就像一个SQL查询如下:处理是内部的SQL
Declare @TestId bigint = null
Declare @Query nvarchar(max)
set @Query = 'SELECT * from Registrations where RegistrationId = 15 AND (' + CAST(@TestId AS NVARCHAR) + ' IS NULL OR TestId = ' + CAST(@TestId AS NVARCHAR) + ') '
EXEC(@Query)
现在的问题是,IS NULL不会被解析正确的内部字符串,但是当我从字符串中删除IS NULL它正常工作,并且@TestId采用非空值时它正常工作现在的问题是在@Query字符串内部的IS NULL的投射。
注意:@TestId是一个过程参数
我需要知道如何让SQL感到IS NULL和提前
您在@Query中构建查询并执行它的任何特定原因?在我看来,这可能是一个直接的SELECT语句,而没有EXEC – LittleBobbyTables 2010-09-14 12:40:11
我公开了部分SQL语句,但它根据特定参数是可变的,所以它不能显式SQL – Ahmy 2010-09-14 12:46:59