我正在尝试研究如何编写一个返回布尔值的store procdure。我开始写下面的一个返回一个int。
USE [Database]
GO
/****** Object: StoredProcedure [dbo].[ReturnInt] Script Date: 09/30/2010 09:31:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[ReturnInt] AS
RETURN 3
我不确定如何编写一个返回布尔值。
有人可以帮忙吗?这有点值吗?
答案 0 :(得分:31)
你做不到。没有布尔数据类型,过程返回代码只能是int
。您可以返回bit
作为输出参数。
CREATE PROCEDURE [dbo].[ReturnBit]
@bit BIT OUTPUT
AS
BEGIN
SET @bit = 1
END
并称之为
DECLARE @B BIT
EXEC [dbo].[ReturnBit] @B OUTPUT
SELECT @B
答案 1 :(得分:19)
使用此:
SELECT CAST(1 AS BIT)
答案 2 :(得分:3)
您至少有两个选项:
SELECT CONVERT(bit, 1)
SELECT CAST(1 AS bit)
答案 3 :(得分:0)
DECLARE @bitVariable bit
SELECT @bitVariable = columnName FROM table WHERE id=id