R2

2014-07-27 6 views
1

나는 상황을 처리하고 두 개의 플로트 열을 연결하고 SQL Server 2008의 또 다른 플로트 컬럼에 삽입 :R2

:

난과 같이 연결하여 원하는 두 Float 열을 얻었다

(Column1 + '_' + Column2) 

column3에 삽입하십시오.

나는 올바른 쿼리가 이런 식으로 뭔가있을 거라고 생각 :
Update Table as A 
set A.Column3 = select ((Column1 + '_' + Column2),ID) as B 
where A.ID = B.ID 

사전에 도와 주셔서 감사

+1

를 사용하여 NVARCHAR로 변환 할 필요가 그리고 당신의 질문은? 기능 코드가 있으십니까? 결과는 어느 것입니까? 오류가 있었습니까? – Yaroslav

+0

두 개의 부동 열이 있습니다 –

답변

2

을 NULL을 얻지 않으려면 다음과 같이 사용해야합니다.

UPDATE dbo.YourTable 
SET Column3 = CONVERT(NVARCHAR(50), ISNULL(Column1, N'')) + N'_' + 
       CONVERT(NVARCHAR(50), ISNULL(Column2, N'')) 

세 개의 열이 모두 같은 테이블에 있다고 가정합니다. 그렇지 않으면 당신이 사용하도록 UPDATE

업데이트에 JOIN 필요할 것 : 있습니다 FLOAT 열을 그 이후를, 그들은 CONVERT 기능

+0

친애하는 표식에 다음 오류가 발생합니다. 데이터 형식을 nvarchar를 float로 변환하는 중 오류가 발생했습니다. –

+0

죄송합니다. 큰 실수를했습니다. 두 열은 Float 형식입니다. –

+0

@RmanEdv : 새로운 상황에 대한 내 질문 업데이트 –

2

이 검증되지 않은 쿼리보십시오 : 당신은 확인하려면

update a 
set A.Column3 = (Column1 +'_'+Column2) 
from Table a 
    inner join select * from B on A.ID=B.ID 
+2

SQL Server ** 2012 **에서 CONCAT이 (가) 새롭습니다 (2008 R2에서는 사용할 수 없음). –