我需要將值集中在一起並將其複製到不同的列。將列連接在一起,列可以爲空
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列並將其複製到以空格分隔的第4列。
列可以爲空。
我需要將值集中在一起並將其複製到不同的列。將列連接在一起,列可以爲空
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列並將其複製到以空格分隔的第4列。
列可以爲空。
UPDATE dbo.table
SET column4 = COALESCE(column1, '')
+ COALESCE(' ' + column2, '')
+ COALESCE(' ' + column3, '');
只要使用+號
select ISNULL([COLUMN 1],'')+' ' +
isnull([COLUMN 2],'')+' ' +
isnull([COLUMN 3],'')
from your_table
使用ISNULL
UPDATE table
SET Column4 =
ISNULL(Column1+' ','') +
ISNULL(Column2+' ','') +
ISNULL(Column3,'')
或者你可以考慮使用計算列。
update yourtable SET COlumn4= ltrim(rtrim(isnull([COLUMN 1],'') +' '+isnull([COLUMN 2],'') +' '+ isnull([COLUMN 3],'')))
SQL Server 2012的
UPDATE table
SET Column4 = CONCAT(Column1 + ' ', Column2 + ' ', Column3)
100K看起來很漂亮。 :-) –
@AaronBertrand - 是不錯的回合數。當它改變時會感到羞恥! –
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。
現在它會添加額外的空間(例如,如果column1和column2都爲null)。 –
請現在檢查。我已刪除多餘的空格 – AnandPhadke