私は現在、外部テーブルからのユーザーIDであるbigintとして格納されている外部ユーザー参照を含むSQL Server 2008テーブルを持っています。私は電子メールアドレス、公開IDなどを外部識別子として使用できるようにこれを拡張したいと考えています。既存のデータに影響を与えずに、列のデータ型をbigintからvarcharに変更することは可能ですか?SQL Serverテーブルの列のデータ型をbigintからvarcharに変更した後に、そのデータ型を変更することはできますか?
2
A
答えて
6
はい、それは、何の問題可能性がないはず - 限り、あなたはあなたがこのT-SQLのようなものを使用する必要があると思います
:-) BIGINT値を保持するのに十分なごVARCHAR
フィールドビッグ作るよう:
ALTER TABLE dbo.YourTable
ALTER COLUMN YourColumnName VARCHAR(50) -- or whatever you want
とする必要があります。 BIGINT
の値はすべて文字列に変換できるため、このコマンドはうまく動作し、データを失う危険はありません。
+0
しかし、SQL Serverは、クラスタ化されたインデックスが再構築されるまで、古い「bigint」列の領域を割り当て続けます。 –
関連する問題
- 1. bigintから列のデータ型をuniqueidentifierに変更します。
- 2. SQL Server 2008のテーブル列のデータ型を変更します
- 3. alter tableのSQL Serverのパフォーマンス列の変更の変更データ型
- 4. IBM DB2のデータ型変換:BIGINTからVARCHAR
- 5. 列データ型を変更するSqlスクリプト
- 6. SQL Server 2008のデータ列をvarchar(max)からnvarchar(max)に変更する
- 7. ビュー内の列のデータ型を変更することはできますか?
- 8. データ型varcharをbigintに変換中にエラーが発生しました(C#ASP.NET)
- 9. DataTableの列のデータ型をDateTimeからStringに変更する
- 10. T-SQL - 日時データ型を日付データ型に変更しますか?
- 11. 数十億行のテーブルを持つテーブルのデータ型をintからbigintに変更する
- 12. 列のデータ型を変更する
- 13. PostgreSQLのテーブルでカラムのデータ型を変更するには?
- 14. MySQLのデータ型をvarcharからfloatに変換する
- 15. SQLエラー:varcharの値 'PJOI015'をデータ型のビットに変換するときに変換に失敗しました
- 16. 非常に大きなデータベースファイルを引き起こすデータ型を変更するためのテーブルを変更
- 17. 既存のSQL Server 2005データベースでデータ型varcharをnvarcharに変更します。どんな問題?
- 18. データ型を変更した後にSQL 2005テーブルの領域を再利用しますか?
- 19. 多くのデータを持つSQL変更列データ型
- 20. 列データ型のSQL Serverメタデータはどこにありますか?
- 21. MS Access SQL、データ型の変更
- 22. SQL Server 2005 - 列後のテーブルの変更
- 23. OracleDatareader使用時にフィールド・データ型を行から列に変更することができます
- 24. MysqlまたはsqliteのBlobデータ型はそこにvarcharデータを格納できますか?
- 25. データ変更(AS3)後にAdvancedDataGridのデータを更新しますか?
- 26. プロパティのデータ型を変更する
- 27. SQL ServerのCharからVarcharへの列タイプの変更
- 28. 既定値で列のデータ型を変更する方法
- 29. sybaseクエリーで列のデータ型を変更する方法は?
- 30. ハイチャートのデータ系列型を動的に変更する
はい、あなたは 'varchar'サイズを十分に大きく定義することができます。それが十分でない場合、SQL Serverはエラーをスローします – codingbadger
テストするのが簡単です。 –
私はあなたが保存した外部識別子のタイプを教えてくれる追加の列も追加していると思いますか?または、これらの値のドメインが重複しないことを100%確信しているか、そうであれば、それらの値を区別する手段は必要ありませんか? –