문제

다음은 내 데이터베이스의 스냅입니다.

COL1과 COL2는 모두 int로 선언됩니다.

내 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 ComputedColumn = convert(varchar, col1) + '-' + convert(varchar, col2)
  FROM Table
SELECT col1, col2, (col1 + '-' + col2) as ComputedColumn

"+"는 추가 및 연결 문자입니다. 당신은 명시 적으로 변환 할 수 있지만,이 경우 중간에 '-'를 포함하여 암시 적 변환을 유발해야합니다.

먼저 디자인 모드에서 테이블을 만듭니다

Col1 및 Col2로 2 개의 열을 추가하십시오

다른 열 computedColumn을 추가하고 계산 된 열 속성을 설정하십시오

enter image description here

또한 다음 스크립트를 사용할 수 있습니다

CREATE TABLE [dbo].[tbl](
[col1] [varchar](50) NOT NULL,
[col2] [varchar](50) NOT NULL,
[ComputedColumn]  AS ((CONVERT([varchar],[col1],(0))+'-')+CONVERT([varchar],[col2],(0)))

)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top