0

値をまとめて、別の列にコピーする必要があります。

COLUMN 1 | COLUMN 2 |  COLUMN 3 | COLUMN 4 
Hallo      out         there      Hallo out there
My         NULL        name is    My name is
I'm        a           rabbit     I'm a rabbit

列1、2、3をマージし、スペースで区切ってcolumn4にコピーする方法。

列はnullにすることができます。

4

6 に答える 6

4
UPDATE dbo.table
  SET column4 = COALESCE(column1, '') 
      + COALESCE(' ' + column2, '')
      + COALESCE(' ' + column3, '');
于 2012-09-25T11:45:36.427 に答える
3

SQL Server 2012

UPDATE table
SET Column4 = CONCAT(Column1 + ' ', Column2 + ' ', Column3)
于 2012-09-25T11:51:32.580 に答える
2

+記号を使用するだけです

  select ISNULL([COLUMN 1],'')+' ' +
         isnull([COLUMN 2],'')+' ' +
         isnull([COLUMN 3],'') 
  from your_table
于 2012-09-25T11:44:58.893 に答える
1

使用するISNULL

UPDATE table
SET Column4 = 
ISNULL(Column1+' ','') + 
ISNULL(Column2+' ','') + 
ISNULL(Column3,'') 

または、計算列の使用を検討することもできます。

于 2012-09-25T11:45:54.347 に答える
0
update yourtable SET COlumn4= ltrim(rtrim(isnull([COLUMN 1],'') +' '+isnull([COLUMN 2],'') +' '+  isnull([COLUMN 3],'')))
于 2012-09-25T11:47:05.833 に答える
0
select isnull(convert(varchar(255),[COLUMN1]),'')+' '+isnull(convert(varchar(255),[COLUMN2]),'')+' '+isnull(convert(varchar(255),[COLUMN3]),'')
from table

UPDATE table
SET COLUMN4 = isnull(convert(varchar(255),[COLUMN1]),'')+' '+isnull(convert(varchar(255),[COLUMN2]),'')+' '+isnull(convert(varchar(255),[COLUMN3]),'')

上記のコードはデータ型によっては機能しない場合があるため、前にvarcharに変換することができます。

于 2012-09-25T11:53:54.910 に答える