カラムfirstNameとlastNameを持つテーブルがあるとします。 INSERT INTO newTable SELECT firstName, lastName FROM oldTable
を実行することはできますが、結果の表に2つの列があるのではなく、2つの列を連結しますか?SQL INSERT INTO SELECT、varcharカラムを結合する
同様に、列を静的な文字列と連結することは可能ですか?
カラムfirstNameとlastNameを持つテーブルがあるとします。 INSERT INTO newTable SELECT firstName, lastName FROM oldTable
を実行することはできますが、結果の表に2つの列があるのではなく、2つの列を連結しますか?SQL INSERT INTO SELECT、varcharカラムを結合する
同様に、列を静的な文字列と連結することは可能ですか?
はい、あなたは
SELECT LTRIM(RTRIM(ISNULL(firstName, '') + ' ' + ISNULL(lastName, ''))) FROM oldTable
にしてくださいこれは、姓と名の列だけでなく、EDIT
の間で静的な文字列
' '
をconcatinates:firstNameのかlastNameのがnullの場合はそう
LTRIM(RTRIM(...))
を追加し、結果は、静的
' '
文字列の結果として先頭または末尾のスペースがありません。
はい、あなたは静的な文字列またはあなたが言うことができる変数がある場合:
DECLARE @variable VARCHAR(255);
SET @variable = 'some string';
INSERT INTO dbo.NewTable(column name)
SELECT
COALESCE(firstname, '') + ' ' + COALESCE(lastname, '') + @variable + 'static string'
FROM dbo.OldTable;
'NULL'値に注意をしかし何か他のものと連結...' NULL'は 'NULL' –
パーフェクトをもたらし、私はそれを行うことができるかどうかはわかりませんでしたそしてダレンの頭のおかげで – carpat
@DarrenKoppありがとう、nullsを考慮に入れて編集しました。 –