Вот снимок моей базы данных.
И col1 и col2 объявляются как интервал.
Мой ComputedColumn в настоящее время добавляет Столбцы 1 и 2, следующим образом...
col1 col2 ComputedColumn
1 2 3
4 1 5
Вместо этого мой ComputedColumn должен присоединиться к столбцам 1 и 2 (включая '-' символ в середине) следующим образом...
col1 col2 ComputedColumn
1 2 1-2
4 1 4-1
Так, каков правильный синтаксис?
Вы, вероятно, определяете свой вычисляемый столбец как col1 + col2
. Попробуйте вместо этого CAST (col1 AS NVARCHAR (MAX)) + '-' + CAST (col2 AS NVARCHAR (MAX))
.
Или, если хотите, вы можете заменить NVARCHAR (MAX)
на NVARCHAR (10)
или другую длину по вашему выбору.
create table TableName
(
col1 int,
col2 int,
ComputedColumn as Convert(varchar, col1) + '-' + Convert(varchar, col2)
)
Имейте в виду, что если любое значение равно null
, то результатом ComputedColumn
также будет null
(с использованием параметров сортировки и настроек по умолчанию)
SELECT col1, col2, (col1 + '-' + col2) as ComputedColumn
«+» - это и сложение, и символ конкатенации. Вы можете преобразовать явно, но в этом случае включение символа «-» в середине должно вызвать неявное преобразование.
просто:
SELECT ComputedColumn = convert(varchar, col1) + '-' + convert(varchar, col2)
FROM Table