通过查询Sql Server 2005将位类型转换为是或否

Ram*_*aid 23 sql-server sql-server-2005

我希望转换bit类型为是或否

例如:

SELECT FirstName, LastName, IsMale from members
Run Code Online (Sandbox Code Playgroud)

结果:

Ramy    Said    1  
Run Code Online (Sandbox Code Playgroud)

预期结果:

Ramy    Said    Yes  
Run Code Online (Sandbox Code Playgroud)

Chr*_*tow 53

您可以使用搜索的案例表达式执行此操作:

SELECT
    FirstName,
    LastName,
    CASE WHEN IsMale = 1 THEN 'Yes' ELSE 'No' END AS IsMale
FROM
    Members
Run Code Online (Sandbox Code Playgroud)


IAm*_*rey 6

干得好:

SELECT FirstName, LastName, CASE WHEN IsMale = 1 THEN 'Yes' ELSE 'No' END AS Male
FROM members
Run Code Online (Sandbox Code Playgroud)

基本上,您使用CASE语句来转换值.如果你有三个选择,你仍然可以使用case语句并只添加另一个选项(显然你不能有三个选项,但如果字段是int,等等.)ELSE语句是运行的默认语句,如果你没有得到匹配.在我们的例子中,我们只是将它用于否,因为我们只能得到是或否,但是在更大的CASE陈述的情况下,你会想要使用它作为你的后备字段.例如,如果您要转换项目,则可以说"找不到项目".


Ale*_* K. 5

用一个CASE;

SELECT 
  FirstName,
  LastName,
  CASE IsMale WHEN 1 THEN 'Yes' ELSE 'No' END AS IsMale
FROM tbl
Run Code Online (Sandbox Code Playgroud)