2017-01-10 4 views
2

Это мой простой запрос.Как назначить заголовок столбца/имя этого запроса в SQL-сервере?

Declare @custName INT 
Set @custName = 2 
Select case @custName 
when 1 then 'abc' 
when 2 then 'xyz' 
when 3 then 'pqr' 
end 

Вышеупомянутый запрос выполняется нормально.

Выход

SQL Statement

Я имею в виду, присвоить имя столбца или заголовка в качестве имени клиента.

Я пробовал с некоторой перестановкой запроса.

  • Declare @custName INT Set @custName = 2 Select case @custName as CustomerName when 1 then 'abc' when 2 then 'xyz' when 3 then 'pqr' end
  • Declare @custName INT Set @custName = 2 Select CustomerName as case @custName when 1 then 'abc' when 2 then 'xyz' when 3 then 'pqr' end

Но возвращение ошибки.

Так что мой вопрос в том, как назначить соответствующее имя заголовка/столбца?

ответ

1

Есть по крайней мере 3 способа сделать это в SQL Server:

<expression> as <alias> 
<expression> <alias> 
<alias> = <expression> 

Так для примера это может быть:

DECLARE @custName INT 
SET @custName = 2 
SELECT CASE @custName 
      WHEN 1 THEN 'abc' 
      WHEN 2 THEN 'xyz' 
      WHEN 3 THEN 'pqr' 
     END AS CustomerName 

или:

DECLARE @custName INT 
SET @custName = 2 
SELECT CASE @custName 
      WHEN 1 THEN 'abc' 
      WHEN 2 THEN 'xyz' 
      WHEN 3 THEN 'pqr' 
     END CustomerName 

или:

DECLARE @custName INT 
SET @custName = 2 
SELECT CustomerName = CASE @custName 
      WHEN 1 THEN 'abc' 
      WHEN 2 THEN 'xyz' 
      WHEN 3 THEN 'pqr' 
     END 
+0

Спасибо :). Этот способ опубликован @Abdul, было бы здорово, если вы опубликуете и другие 2 способа. –

+0

Yeah.Great. (Y) :) –

2

можно присвоить псевдоним результата колонке

Declare @custName INT 

Set @custName = 2 

Select case @custName 
when 1 then 'abc' 
when 2 then 'xyz' 
when 3 then 'pqr' 
end as custname 
+1

О !! эта перестановка была пропущена :). Благодарю. –

+0

еще один пункт для проверки с вами. Предположим, что я хочу, когда я запустил этот запрос, сервер sql должен попросить меня передать значение @custname –

+0

. Вы не можете. Вам нужно будет установить значение для переменной ie Set @custName = 2. Или вы можете создать хранимую процедуру. SQL Server Management Studio предложит параметры хранимой процедуры, если вы щелкните правой кнопкой мыши по хранимой процедуре и выберите «Выполнение хранимой процедуры». В противном случае нет, он не будет запрашивать параметры. –

0

Вы должны использовать Alias Name и использовать квадратные скобки, чтобы избежать пространства в имени псевдонима. Между есть простой способ сделать это в SQL SERVER 2012 используя Choose

Declare @custName INT 

Set @custName = 2 

Select Choose(@custName,'abc', 'xyz', 'pqr') as [Customer Name] 
Смежные вопросы