【问题标题】:How do I select a 1 as a bit in a sql-server view?如何在 sql-server 视图中选择 1 作为位?
【发布时间】:2011-04-27 04:20:39
【问题描述】:

我想创建一个视图,在其中我选择如下内容:

select id, name, 1 as active
from users

但是,我希望我在 select 语句中创建的活动字段(它在表中不存在)是一个位字段。有没有办法做到这一点?

【问题讨论】:

    标签: sql sql-server-2000


    【解决方案1】:

    您可以使用 CONVERT 运算符。

    SELECT id, name, CONVERT(bit, 1) AS active
    FROM users
    

    CAST 或 CONVERT 将起作用。

    【讨论】:

      【解决方案2】:

      是的,你把它变成了比特:

      select id, name, cast(1 as bit) as active
      from users
      

      在某些情况下与位值进行比较时,这对于提高性能也很有用:

      select id, name
      from users
      where active = cast(1 as bit)
      

      (在这个例子中,它可能没有实际的区别,但我在更复杂的查询中看到了实际的区别。)

      【讨论】:

        【解决方案3】:
        select id, name, Convert(bit, 1) as active
        from users
        

        是你可能想要做的。

        【讨论】:

        • SQL Server 没有 True 和 False 常量。
        【解决方案4】:
        select id, name, CAST(1 AS bit) as active
        from users
        

        1 是一个真位的显示。你想达到什么目的。

        在做

        select CAST('true' AS bit) as active
        

        也返回1

        【讨论】:

          猜你喜欢
          • 2019-11-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多