如何从sql语句返回常量?
例如,如果我的(布尔表达式)为真,我将如何更改下面的代码以便“我的消息”将返回
if (my boolean expression)
"my message"
else
select top 1 name from people;
我正在使用ms sql 2000
答案 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
所有声明。