2011-10-24 27 views
2

在MySQL我可以執行以下操作:在SELECT中設置列的值?

SELECT "spam" AS "foo", "eggs" AS "bar" LIMIT 1; 

...這將返回1行2列( 「foo」 和 「巴)和2點的值(」 垃圾郵件」和 「蛋」)

是否有可能在SQL Server和TSQL做到這一點?

回答

9

你可以做這些:

SELECT 'spam' foo, 'eggs' bar 

SELECT 'spam' AS foo, 'eggs' AS bar 

SELECT foo = 'spam', bar = 'eggs' 

SELECT 'spam' "foo", 'eggs' "bar" 

SELECT 'spam' [foo], 'eggs' [bar] 

既然你正在構建一個硬編碼值的集合你不不需要限制條款。僅供參考,T-SQL中的等效項目爲TOP

+0

啊,那是我的問題;我不知道'tsql'是否解釋它們! –

+0

是的,值必須在T-SQL中單引號。如果你使用'''值''它隱含地是'varchar'。如果你想'nvarchar',你需要在'N'前面加上'N'這樣的 - 'N'value''。 – Yuck

1

使用TOP限制返回的行

SELECT TOP 1 'spam' AS "foo", "eggs" AS "bar" 

但是在這種情況下,你是不是從表中獲取數據與多行,你可以做:

SELECT 'spam' AS "foo", "eggs" AS "bar" 
+0

'SELECT'spam'AS「foo」',not'「spam」' –