Koc*_*ran 2 sql sql-server sql-server-2008
如何减去两个变量中的值.这是我到目前为止所做的
DECLARE @A NVARCHAR(MAX)
DECLARE @B NVARCHAR(MAX)
SET @A='select count(abc)
from x'
EXEC (@A)
PRINT @A
SET @B= ' select count(xyz)
from y'
EXEC (@B)
PRINT @B
DECLARE @C INT
SET @C = CAST(@A AS INT) - CAST(@B AS INT)
EXEC (@C)
PRINT @C
Run Code Online (Sandbox Code Playgroud)
我收到转换错误
消息
转换nvarchar值时,消息245,级别16,状态1,行20 转换失败
当然,您会收到转换错误,因为该变量是一个字符串.即使字符串是查询,如果执行它,也不会将结果存储回变量.你需要做的是:
DECLARE @A INT, @B INT, @C INT;
SELECT @A = COUNT(abc)
FROM x;
SELECT @B = COUNT(xyz)
FROM y;
SET @C = @A - @B;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6461 次 |
| 最近记录: |