如何从 sql 语句中返回常量?
例如,如果我的(布尔表达式)为真,我将如何更改下面的代码以便返回“我的消息”
if (my boolean expression)
"my message"
else
select top 1 name from people;
我正在使用 ms sql 2000
如何从 sql 语句中返回常量?
例如,如果我的(布尔表达式)为真,我将如何更改下面的代码以便返回“我的消息”
if (my boolean expression)
"my message"
else
select top 1 name from people;
我正在使用 ms sql 2000
你试过了吗:
select 'my message';
select "my message" as message
我没有方便的 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%'
其中地址是 people 表中的另一个字段。
PS:在这里找到 MSSQL CASE 语法:-)
select top 1 name
from people
where @MyParameter = whatever
union
select 'my message' as name
where @MyParameter != whatever
全部在一份声明中。
我刚刚在 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