我在這一個瘋了。我有以下SP:SQL EXISTS的問題
ALTER PROCEDURE [BankImport].[spBI_getIsBatchUnique]
@batchName varchar = 500
AS
BEGIN
SET NOCOUNT ON;
IF (EXISTS (SELECT 1 FROM [ACN_Main].[BankImport].[tblBI_Jobs]
WHERE [batchNumber] = @batchName))
BEGIN
SELECT 1
END
ELSE
BEGIN
SELECT 0
END
END
GO
但無論請求是什麼,我總是回來0!
我試圖用幾種方式修改它,但沒有成功! 我需要做的是檢查是否有該批號的記錄並返回true,否則返回false。
任何提示?
感謝
+1目前,它給出了一個'VARCHAR(1)'默認的'500'值自動截斷爲'*'。這不可能是預期的效果! –
你在哪裏吧!!!!多麼想念!我失去了兩個小時,用不同的方式重寫了10次查詢! 謝謝! – MaiOM
@MaiOM始終使用長度定義char/varchar/nchar/nvarchar。 http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/09/bad-habits-to-kick-declaring-varchar-without-length.aspx –