【问题标题】:Return Bit Value as 1/0 and NOT True/False in SQL Server在 SQL Server 中将位值返回为 1/0 而不是 True/False
【发布时间】:2013-07-01 08:16:54
【问题描述】:

我在 SQL Server 2000 中有一个带有 BitValue 列的表。但是,它在 SQL Server Management Studio 中显示为 True/False。当我执行Select * from Tablename 时,它会将 BitValue 列值返回为 True/False。 如何强制它以位(1/0)而不是真/假的形式返回值? 任何帮助将不胜感激?

【问题讨论】:

  • 为什么要关心 SSMS 中布尔值的显示格式?
  • 我正在使用这些值,做一些工作并将这些值再次插入到该表中。但我不能将值插入为 True/False,因为它会抛出一个错误,比如 bit value 只接受 1 或 0。
  • True 正是 SSMS 显示类型为 bit 且值为 1 的列的方式。 C# 客户端会收到一个值SqlBoolean.True
  • 可能重复 TSQL to return NO or YES instead TRUE or FALSE。我认为 Sql Server 不返回 TRUE 或 FALSE,请看这个reference
  • 这失败:更新表设置 BitField=True,其中 ID=1 但这有效:更新表设置 BitField=1,其中 ID=1

标签: sql select bit


【解决方案1】:

试试这个脚本,也许会有用:

SELECT CAST('TRUE' as bit) -- RETURN 1
SELECT CAST('FALSE' as bit) --RETURN 0

无论如何,我总是会使用 1 或 0 的值(不是 TRUE 或 FALSE)。按照您的示例,更新脚本将是:

Update Table Set BitField=CAST('TRUE' as bit) Where ID=1

【讨论】:

    【解决方案2】:

    修改查询以生成所需的输出。

    尝试将它们转换为 int:

    select cast(bitFlag as int)
    

    或者,如果你愿意,可以使用case

    select (case when bitFlag = 0 then 0 else 1 end)
    

    【讨论】:

      【解决方案3】:

      可以通过使用CASE WHEN 将其更改为 0/1,如下例所示:

      SELECT 
       CASE WHEN SchemaName.TableName.BitFieldName = 'true' THEN 1 ELSE 0 END AS 'bit Value' 
       FROM SchemaName.TableName
      

      【讨论】:

        【解决方案4】:
         Try this:- SELECT Case WHEN COLUMNNAME=0 THEN 'sex'
                      ELSE WHEN COLUMNNAME=1 THEN 'Female' END AS YOURGRIDCOLUMNNAME FROM YOURTABLENAME
        

        在您的查询中仅对真或假列

        【讨论】:

          【解决方案5】:

          只要你在你的选择查询中传递这些东西。使用案例

          SELECT
              CASE
                  WHEN gender=0 THEN 'Female' 
                  WHEN gender=1 THEN 'Male'
              END 
          as Gendership from Tablename;
          

          【讨论】:

            猜你喜欢
            • 2012-01-05
            • 2020-03-15
            • 1970-01-01
            • 2015-06-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-12-07
            • 2014-10-14
            相关资源
            最近更新 更多