2008-11-20 72 views
9

如何從sql語句返回常量?如何從sql語句返回常量?

比如我將如何更改代碼的下方,「我的信息」會,如果我(布爾表達式)是真實的

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

我使用MS SQL 2000

回答

17

你嘗試返回:

select 'my message'; 
+0

您可能希望包含一個字段名稱以匹配else條件。 – BoltBait 2008-11-20 02:12:15

+1

這似乎省略了條件? – 2008-11-20 04:46:15

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%' 

其中地址是百姓餐桌的另一領域。

PS:發現了MSSQL CASE語法here :-)

4
select "my message" as message 
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 
0
select top 1 name 
from people 
where @MyParameter = whatever 

union 

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

全部在一個聲明。