2011-04-26 124 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