一般关于case语句sql

时间:2017-05-25 19:00:52

标签: sql sql-server tsql

我有一张名字和年龄的桌子。我试图理解case语句的使用,当我尝试执行以下代码时,我遇到错误。它是一个简单的程序,可以显示30岁以上人的姓名和年龄,如果他们在下面。:

Select age,                                                 
case                                                 
    when age>30 then Name 
    when age<30 then age 
end
from tblPerson

为什么我收到错误:转换nvarchar值时转换失败&#39; Sam&#39;数据类型int。

1 个答案:

答案 0 :(得分:3)

名称和年龄不是同一数据类型。您需要CAST年龄到您拥有的任何数据类型。

   Select age,                                                 
    case                                                 
        when age>30 then Name 
        when age<30 then CAST(age AS VARCHAR(3))
    end
    from tblPerson