如何从sql语句返回常量?

时间:2008-11-20 02:02:02

标签: sql sql-server tsql sql-server-2000

如何从sql语句返回常量?

例如,如果我的(布尔表达式)为真,我将如何更改下面的代码以便“我的消息”将返回

if (my boolean expression)
 "my message"
else
 select top 1 name from people;

我正在使用ms sql 2000

5 个答案:

答案 0 :(得分:22)

你有没有尝试过:

select 'my message';

答案 1 :(得分:7)

select "my message" as message

答案 2 :(得分:4)

我没有MSSQL方便,但检查CASE语句的语法,以防我弄错了,而且我不确定TOP 1是否应该超出案例,因为我把它放在这里或者是否应该进去(ELSE TOP 1名称)。这个想法是:

SELECT TOP 1 CASE WHEN myexpression = 'true' THEN 'my message' ELSE name END
FROM people;

这里myexpression必须是常量或与查询中的表相关,例如

CASE WHEN address LIKE '%Michigan%'

其中address是表人中的另一个字段。

PS:找到MSSQL CASE语法here: - )

答案 3 :(得分:0)

我刚刚在AdventureWorks数据库上尝试了这个,它可以正常工作

Use AdventureWorks

Declare @myVar int
SET @myVar = 1

if (@myVar = 2)

     select top 2 * from HumanResources.Department

else

     select top 1 * from HumanResources.Department

答案 4 :(得分:0)

select top 1 name 
from people
where @MyParameter = whatever

union

select 'my message' as name
where @MyParameter != whatever

所有声明。