Создание переменной, которая объединяет другие переменные в SQL Server - PullRequest
0 голосов
/ 24 марта 2020

Я практикую SQL Серверные динамические c переменные, и здесь я столкнулся с проблемой.

Предположим, у меня есть две динамические c переменные:

declare @firstname varchar (200)
declare @lastname varchar (200)

set @firstname = 'select firstname from Person.Person'
set @lastname = 'select lastname from Person.Person'

Мой вопрос Как я могу создать третью переменную @fullname, которая объединяет @firstname и @lastname, чтобы показать полное имя?

Я попробовал синтаксис вроде:

declare @fullname varchar (200)
set @fullname = @firstname + ' ' + @lastname 
exec (@fullname)

Но это не работает, любые идеи будут высоко оценены!

Ответы [ 3 ]

0 голосов
/ 24 марта 2020

Вам нужно написать свой запрос просто, как показано ниже. Я не думаю, что какая-либо конкретная c причина для переменной, если вы хотите, чтобы список имен и фамилий был напечатан, как вы сказали в своем комментарии.

Это потому, что переменная может хранить только один значение за раз.

Select firstname + ' ' + lastname from Person
0 голосов
/ 24 марта 2020

Вы можете установить значение переменной с помощью SET или в операторе SELECT. В любом случае вам нужно выбрать эту переменную отдельно от операции присвоения значения, чтобы увидеть ее значение.

declare @firstname varchar (200)
declare @lastname varchar (200)
declare @fullname varchar (200)
declare @fullname2 varchar (200)

set @firstname = 'Mickey'
set @lastname = 'Mouse'

set @fullname = @firstname + ' ' + @lastname

select @fullname2 = @firstname + ' ' + @lastname

select @firstname as [FirstName]
     , @lastname  as [LastName]
     , @fullname  as [FullName]
     , @fullname2 as [FullName2]

Вот демо .

0 голосов
/ 24 марта 2020
declare @fullname varchar (200)

Select @fullname  = firstname + ' '+lastname 
 From Person.Person
 Where ID={somevalue}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...