データ型がある程度「関連」している限り、そうです、絶対にこれを行うことができます。
INT
をaに変更できますBIGINT
。2番目のタイプの値の範囲が大きいため、データが「失われる」危険はありません。
VARCHAR(50)
aを-に変更できますVARCHAR(200)
。タイプは互換性があり、サイズは大きくなっています-何かを切り捨てるリスクはありません。
基本的に、あなたはただ必要です
ALTER TABLE dbo.YourTable
ALTER COLUMN YourColumn VARCHAR(200) NULL
または何でも。200文字より長い文字列がない限り、問題はありません。文字列が長い場合はどうなるかわかりません。変換がエラーで失敗するか、先に進んで一部のデータが切り捨てられた可能性があることを通知します。したがって、最初にデータのコピーでこれを試すことをお勧めします:-)
VARCHAR
をまたはそのようなものに変更する必要がある場合は、少し注意が必要です。INT
明らかに、新しいタイプに「適合」しない列値がある場合、変換は失敗します。ただし、別の「一時的な」新しい列を使用しても、これは修正されません。これらの「互換性のない」ケースに何らかの方法で対処する必要があります(無視し、NULLを残し、デフォルト値に設定します)。
VARCHAR
また、西ヨーロッパ以外の文字を使用している場合は、とを切り替えるのNVARCHAR
が難しい場合があります。他の形式で表現できないため、またはあるタイプから別のタイプへの「デフォルト」変換であるため、変換時に特定のエントリが失われる可能性があります。期待どおりに機能しません。