Подтвердить что ты не робот

Как вернуть bool из хранимой процедуры

Я пытаюсь понять, как написать файл 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

Я не уверен, как написать один, чтобы вернуть логическое значение.

Может кто-нибудь помочь? Это битовая ценность?

4b9b3361

Ответ 1

Вы не можете. Булевский тип данных отсутствует, а код возврата процедуры может быть только 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

Ответ 2

Используйте это:

SELECT CAST(1 AS BIT)

Ответ 3

У вас есть как минимум 2 варианта:

SELECT CONVERT(bit, 1)
SELECT CAST(1 AS bit)