【问题标题】:Calculated field in Sql Server 2008Sql Server 2008 中的计算字段
【发布时间】:2011-04-26 09:03:02
【问题描述】:
create proc PrAspnet_RolesGet
as

select  r.RoleId, r.RoleName, lr.RoleId as IsLoginetRole
from aspnet_Roles r

left join loginetRoles lr
on r.RoleId = lr.RoleId

表 loginetRoles 包含一个字段 - RoleId。如何将字段 IsLoginetRole 从 Guid 值替换为位值?

【问题讨论】:

  • 没有布尔数据类型。只有bit。从guid 转换为bit 的逻辑应该是什么?如果NOT NULL0 如果NULL 或其他什么,你想返回1
  • 马丁,是的。如果不是 NULL,我想返回 1,如果为 NULL,我想返回 0。

标签: sql-server calculated-columns


【解决方案1】:
SELECT r.RoleId,
       r.RoleName,
       CAST(CASE
              WHEN lr.RoleId IS NULL THEN 0
              ELSE 1
            END AS BIT) AS IsLoginetRole
FROM   aspnet_Roles r
       LEFT JOIN loginetRoles lr
         ON r.RoleId = lr.RoleId  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2011-04-11
    • 2013-09-16
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    相关资源
    最近更新 更多