[解決済み] クエリでカラムを落とさずにデータ型を変更するには?
2022-03-04 14:35:33
質問
データ型がdatetimeのカラムがあります。しかし、今私はそれをdatatype varcharに変換したいと思います。カラムを削除することなく、データ型を変更できますか?もし可能なら、その方法を教えてください。
解決方法は?
ALTER COLUMNが機能しない場合。
希望する変換ができないため、alter columnが失敗することは珍しくありません。この場合、ダミーのテーブルTableName_tmpを作成し、一括Insertコマンドで専用の変換をしてデータをコピーし、元のテーブルをドロップし、tmpテーブルの名前を元のテーブルの名前に変更することで解決することができます。 外部キー制約を削除して再作成する必要がありますが、パフォーマンスのために、おそらくtmpテーブルを満たした後にキーを作成することをお勧めします。
大変な作業だと思いませんか? 実は、そんなことはないんです。
SQL Serverを使用しているのであれば、SQL Server Management Studioに作業をさせることができます!
- テーブル構造を表示する(テーブル列を右クリックし、"Modify"を選択)。
- すべての変更を行います(列の変換が不正な場合は、新しい列を追加するだけです - すぐに修正できます)。
- 変更ウィンドウの背景を右クリックし、[変更スクリプトの生成]を選択します。
- 修正をキャンセルし (やはり、スクリプトをテストしたいでしょう)、スクリプトを新しいクエリ ウィンドウに貼り付けます。
- 必要に応じて修正し (たとえば、tmp テーブルの宣言からフィールドを削除しながら変換を追加します)、変換に必要なスクリプトを作成します。
関連
-
[解決済み] オブジェクト 'Users'、データベース 'XXX'、スキーマ 'dbo' で SELECT 権限が拒否されました。
-
[解決済み] 変数に値を代入するSELECT文は、データ検索操作と組み合わせてはいけません。
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] カラムの変更:NULLをNOT NULLに変更する
-
[解決済み] クラスター化インデックスと非クラスター化インデックスの実際の意味は何ですか?
-
[解決済み] 最初の行への結合方法
-
[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。
-
[解決済み] NULLも許容するユニークな制約を作成するにはどうしたらいいですか?
-
[解決済み】結合を使用したSQL更新クエリ
-
[解決済み】varcharカラムの最大長を変更する?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] オブジェクト 'Users'、データベース 'XXX'、スキーマ 'dbo' で SELECT 権限が拒否されました。
-
[解決済み] SQL Server Error "String Data, Right Truncation "の意味と修正方法について教えてください。
-
[解決済み] TEXTIMAGE_ON [PRIMARY]とは何ですか?
-
[解決済み] SQL Server xp_delete_file パラメータ
-
[解決済み] SSRS レポートの定義が無効です。
-
[解決済み] MS SQL Server 2005で行のSNoを自動的に設定する方法は?
-
[解決済み] 監査失敗、クレデンシャル検証 4776
-
[解決済み] データベースとスキーマの違い
-
[解決済み] SQL ServerにおけるXOR
-
[解決済み] スカラー変数を宣言する必要があります。