假设我想使用这样的代码:
select 'Response Status Code', 'Client Response Status Code'
from TC_Sessions (NOLOCK)
WHERE StartDate BETWEEN '05-15-2012' AND '06-01-2012'
AND SupplyID = 3367
您如何在 SQL Server 中执行此操作?
谢谢你!
假设我想使用这样的代码:
select 'Response Status Code', 'Client Response Status Code'
from TC_Sessions (NOLOCK)
WHERE StartDate BETWEEN '05-15-2012' AND '06-01-2012'
AND SupplyID = 3367
您如何在 SQL Server 中执行此操作?
谢谢你!
select [Response Status Code], [Client Response Status Code]
from TC_Sessions (NOLOCK)
WHERE StartDate BETWEEN '05-15-2012' AND '06-01-2012'
AND SupplyID = 3367
将名称括在方括号中。
但是,如果可能,最好避免名称中的空格。它只会为你创造更多的工作......
我了解创建带有空格的列的必要性,特别是对于用户将与之交互的报告,将列标题标记为“Client_Response_Status_Code”并不是很友好。
当然,以前的答案在技术上都是正确的,但是我建议不要在名称中创建带有空格的列,而是创建视图并在那里更改列名......
例如:
create view TC_Sessions_Report as
select response_status_code AS [Response State Code],
client_response_status_code as [Client Response Status Code]
...
这样您就不必在代码中的任何地方处理那些“友好”的列名,但是在您确实需要使用友好的列名的地方,您可以使用视图来代替......
select
[Response Status Code],
[Client Response Status Code]
from TC_Sessions (NOLOCK)
WHERE StartDate BETWEEN '05-15-2012' AND '06-01-2012'
AND SupplyID = 3367
这也适用于表名称,如果您的字段名称是保留字或类似名称,这也是一个很好的做法,例如[Order]
或[Month]
更好的做法是完全避免这些......
通常在sql中你不这样做。你做 response_status_code ,如果你必须使用空格,我会尝试用 \ 或使用 [Response Status Code] 或其他东西来转义它们
您可以使用带有空格的列,但通常会避免使用。您需要将列括在括号中以选择它:
select [Response Status Code], [Client Response Status Code]