Конкатенация столбцов Int - PullRequest
       2

Конкатенация столбцов Int

7 голосов
/ 17 августа 2011

У меня есть таблица с именем Field_Data, и данные в таблице выглядят следующим образом:

Date                          Track_ID          Item#
2011-02-25 00:00:00.000       70212             1
2011-02-25 00:00:00.000       70212             2
2011-03-09 00:00:00.000       70852             1
2011-03-09 00:00:00.000       70852             3

Я пытаюсь получить вывод как:

Date                          Final_ID
2011-02-25 00:00:00.000       70212_1
2011-02-25 00:00:00.000       70212_2
2011-03-09 00:00:00.000       70852_1
2011-03-09 00:00:00.000       70852_3

Я пытался сделать что-то подобное:

Select Date,Track_ID + '_' + Item# AS Final_ID
From Field_Data

Но это дало мне следующую ошибку:

Сообщение 245, Уровень 16, Состояние 1, Строка 1
Преобразование не удалось при преобразовании значения varchar '_'к типу данных int.

Может кто-нибудь помочь мне, как это сделать?

Ответы [ 2 ]

21 голосов
/ 17 августа 2011

Вам необходимо преобразовать поля INT в varchar:

Select Date,CAST(Trakc_ID as varchar(20)) + '_' + CAST(Item# as varchar(20)) as Final_ID
From Field_Data
4 голосов
/ 26 января 2017

Заголовок для всех новых посетителей страницы, в SQL Server 12+ доступна функция CONCAT.

SELECT CONCAT([Date], [TrackId], '_', [ItemNumber]) AS FinalId
FROM FieldData
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...