insertするときの文字数削除について

ASURIA
2013-10-30 21:43 1857 1
ストアドプロシージャでinsertするときの文字数削除について
SQLServerのストアドプロシージャ上で
あるテーブルからもってきた100文字のデータを
他のテーブルに41文字以上の部分をカットしてinsertすることってできるのでしょうか。

コメント

2013年 11月 01日 (10:29)
こんにちは。
イノ(inno)です。

あるテーブルからもってきた100文字のデータを他のテーブルに41文字以上の部分をカットしてインサートするのは可能です。

例文として 「#TableA」テーブルからもってきた10文字のデータを「#TableB」テーブルに6文字以上の部分をカットしてインサートするSQLを作成してみました。
下記のSQLを実行してみてください。

-- #### 一時テーブル作成
CREATE TABLE #TableA
(
StrVal varchar(30)
)

CREATE TABLE #TableB
(
StrVal varchar(30)
)
GO

-- #### 「#TableA」テーブルからもってきた10文字のデータを「#TableB」テーブルに6文字以上の部分をカットしてインサートする
INSERT INTO #TableA (StrVal)
VALUES ('1234567890')

INSERT INTO #TableB (StrVal)
SELECT SUBSTRING(StrVal,5+1,LEN(StrVal)-5)
FROM #TableA


-- #### 結果
SELECT * FROM #TableA
SELECT * FROM #TableB