Как вернуть 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
Я не уверен, как написать один, чтобы вернуть логическое значение.
Может кто-нибудь помочь? Это битовая ценность?
Ответы
Ответ 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)