テーブルTからCSVファイルにデータをエクスポートしています。Tにはいくつかのvarchar列があります。処理時に、データウェアハウスからのデータの長さがわからないため、長さを500に設定します(想定)。 csvファイルにエクスポートした後、列の長さに基づいてデータの後に余分なスペースが配置されていることに気付きました。
私がやりたいのは、列の長さを最大データに変更することです。したがって、2つの質問があります。
- テーブルの列内のデータの最大長を取得します。
変数を使用して列を変更します。次のコードは、「「@l」の近くの構文が正しくありません」と表示されて機能しません。
DECLARE @l int SET @l = 12 ALTER TABLE Temp ALTER COLUMN a VarChar(@l)