【问题标题】:Return BIT constant from SQL Stored Procedure从 SQL 存储过程返回 BIT 常量
【发布时间】:2011-07-02 16:32:36
【问题描述】:

好的,我正在尝试从存储过程中返回一个 BIT 常量。

我设法让它编译的唯一方法是使用强制转换:

CAST(0 AS BIT) AS MyBool

有没有更有效的方法来写这个而不用强制转换?

【问题讨论】:

标签: tsql sql-server-2008 casting sqldatatypes


【解决方案1】:

有些人喜欢做以下事情

declare @True bit,@False bit
set @True = 1
set @False = 0

然后在查询的其余部分使用@True@False

我想在编译后这两种方法之间的效率差异非常小,你可以放心地用你喜欢的任何风格编写它。

【讨论】:

  • 在编写视图时不是一个选项。
【解决方案2】:

据我所知没有。
在推断数据类型时,SQL Server 确实有一些魔力,但它通常会因谨慎而犯错,所以

Select 0

将始终选择一个整数,而不是位或 tinyint

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-14
    • 2016-11-03
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 1970-01-01
    相关资源
    最近更新 更多