选择中的动态标签

时间:2013-09-10 06:20:08

标签: sql sql-server sql-server-2008 sql-server-2005

我想知道我们是否可以改变select语句的标签,就像我们对使用CASE

的sql select中的数据所做的那样
SELECT CASE column1 = 1 THEN 1 ELSE 0 END AS [Available]

但我们可以使用像

这样的动态标题
SELECT column1 AS <-- Available when 1 or Not Available when 0

这可以在前端处理,但如果我们在后端使用它是明智的。感谢任何帮助或有用的链接

2 个答案:

答案 0 :(得分:1)

您可以使用dynamic sqlif...else指令进行操作,但对我来说没有意义。在关系数据库中,单元格中的值会告诉您某些内容是否可用。如果标题告诉您与单元格相同的重复信息。如果要描述值,可以使用case语法而不是0/1值

SELECT CASE when column1 = 1 THEN 'Available' 
       ELSE 'Not available' 
       END AS [Available]

答案 1 :(得分:1)

嗯,这没有意义,因为如果你有2行,一个是1(可用)而另一个是0(不可用),你期望列名是什么?

你必须坚持像

这样的东西
SELECT 
    CASE 
        WHEN column1 = 1 
            THEN 'Available' 
        ELSE 'Not available' 
    END as Availability
FROM YourTable