简体   繁体   English

如何从存储过程返回布尔值

[英]How to return bool from stored proc

I'm trying to work out how to write a store procdure which returns a boolean value.我正在尝试解决如何编写返回布尔值的存储过程。 I started off writing the following one which returns an int.我开始编写以下返回 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

I'm unsure however how to write one to return a boolean value.但是,我不确定如何编写一个来返回布尔值。

Can somebody help?有人可以帮忙吗? Is it a bit value?是不是有点值?

You can't.你不能。 There is no boolean datatype and the procedure return code can only be an int .没有布尔数据类型,过程返回码只能是int You can return a bit as an output parameter though.不过,您可以返回bit作为输出参数。

CREATE PROCEDURE [dbo].[ReturnBit] 
@bit BIT OUTPUT
AS
    BEGIN
    SET @bit = 1
    END

And to call it并称之为

DECLARE @B BIT
EXEC [dbo].[ReturnBit] @B OUTPUT
SELECT @B

使用这个:

SELECT CAST(1 AS BIT)

You have at least 2 options:您至少有 2 个选择:

SELECT CONVERT(bit, 1)
SELECT CAST(1 AS bit)
DECLARE @bitVariable bit     
SELECT @bitVariable = columnName FROM table WHERE id=id 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM