Подтвердить что ты не робот

Как вы обрабатываете пробелы в именах столбцов в 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?

Благодарю вас!

4b9b3361

Ответ 1

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 

Оберните имена в квадратных скобках.

Однако лучше избегать пробелов в именах, если это возможно. Это просто создает для вас больше работы по дороге...

Ответ 2

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]

Лучшая практика заключается в том, чтобы полностью избежать этого...

Ответ 3

Я понимаю необходимость создания столбцов с пробелами в них, особенно для отчетов, с которыми пользователи будут взаимодействовать, но не очень удобно иметь заголовок столбца с надписью "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]

...

Таким образом, вам не нужно иметь дело с этими "дружественными" именами столбцов в вашем коде, но там, где вам нужно использовать дружественные имена столбцов, вы можете использовать представление вместо этого...

Ответ 4

Как правило, в sql вы не делаете этого. вы делаете response_status_code, если вам нужно использовать пробелы, я бы попытался выполнить их с помощью\или используя [Код состояния ответа] или что-то

Ответ 5

У вас могут быть столбцы с пробелами, но их обычно избегают. Чтобы скопировать столбец, скопируйте его в скобки:

select [Response Status Code], [Client Response Status Code]