2011-04-26 115 views
0
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值替换为位值?Sql Server 2008中的计算字段

+2

没有布尔数据类型。只有“位”。从'guid'转换为'bit'的逻辑是什么?如果'NOT NULL'你想返回'1',如果'NULL'或者什么都返回'0'? – 2011-04-26 09:07:31

+0

马丁,是的。如果NOT NULL,我想返回1,如果是NULL,则返回0。 – Alexandre 2011-04-26 09:10:45

回答

3
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