Как вы обрабатываете пробелы в именах столбцов в 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?
Благодарю вас!
Ответы
Ответ 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]