問題タブ [alter-column]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 列の変更: null から非 null へ
Null 許容の整数列がいくつかあるテーブルがあります。これはいくつかの理由で望ましくないため、すべての null を 0 に更新してから、これらの列を に設定しようとしていますNOT NULL
。null を に変更する以外に0
、データを保持する必要があります。
列を変更するための特定の SQL 構文を探しています (それを呼び出しますColumnA
) を " not null
" に変更します。null を含まないようにデータが更新されているとします。
SQL サーバー 2000を使用します。
sql-server - 列を変更し、デフォルトの制約を追加します
テーブルがあり、列の1つがdatetimeタイプの「Date」です。その列にデフォルトの制約を追加することにしました
しかし、これは私にエラーを与えます:
'。'の近くの構文が正しくありません
誰かがここで明らかに間違っているものを見ていますか?私はそれを見逃しています(列のより良い名前を持っていることを除いて)
sql - SQL:ALTER COLUMNから短いCHAR(n)タイプ
MS SQL SERVER 2003を使用しています。テーブルの1つの列を変更して、エントリの文字数を減らしたいと考えています。これは、この質問と同じです。より多くの文字を受け入れるのではなく、より少ない文字が必要であるという事実を除いて、より多くの文字を受け入れるようにテーブル列を変更します。
テーブルの1つに、9桁のエントリを保持する列があります。以前にテーブルで作業していた開発者が、誤って列を10桁のエントリを保持するように設定しました。CHAR(10)
タイプをからに変更する必要がありCHAR(9)
ます。
上にリンクされた議論からの指示に従って、私は声明を書きました
ALTER TABLE [MY_TABLE] ALTER COLUMN [MY_COLUMN] CHAR(9);
これにより、「文字列またはバイナリデータが切り捨てられます」というエラーメッセージが返されます。9桁の文字列には、10桁にするためのスペースが追加されていることがわかります。
余分なスペースを破棄して列をCHAR(9)タイプに変換するようにSQL Serverに指示するにはどうすればよいですか?
sql - Nullable 列をデフォルト値で NOT NULL に変更する
今日、null を許可する「Created」という日時列を持つ古いテーブルに出くわしました。ここで、これを NOT NULL になるように変更し、デフォルト値 (getdate()) に追加する制約も含めたいと思います。
これまでのところ、すべてのヌルを事前にクリーンアップしていれば、次のスクリプトは正常に機能します。
ALTER ステートメントでデフォルト値も指定する方法はありますか?
sql-server - SQL Server で一度に複数の列を変更する方法
ALTER
テーブル内の複数の列のデータ型が必要です。
単一の列の場合、次は正常に機能します。
しかし、1 つのステートメントで複数の列を変更するにはどうすればよいでしょうか。以下は機能しません。
sql - TSQL:SQLサーバーで数値列を変更する場合、値はどのように変換されますか?
これはSQLServer2008にあります。
money
変換したい列と変換decimal
したい列がいくつかあります。varchar
たとえば、。という列item_amount
です。
これらの値はどのように変換されますか?
と同じ
convert(varchar, item_amount)
でしょうか?のようなクエリを実行select item_amount, convert(varchar, item_amount) from <table>
すると、列が同じようにレンダリングされます。これは、私が期待していることです。切り捨ての可能性から安全である必要がありますよね?
列に十分な文字があると仮定します(10進列の最大精度は38 +小数点の1文字であるため、
varchar
39になります)。いずれの数値も38桁に近くなく、ほとんどが3〜5の範囲です。私はこのコマンドをテストテーブルで正常に実行しましたが、私を台無しにする何かを見落としたり忘れたりしていないことを確認したいと思います:(
alter table <mytable> alter column item_amount varchar(39) default '0'
これは既存のデフォルト((0))制約を削除した後です)。
sql-server-2005 - SQL Server 2005 - パラメータに基づいてフィールド サイズを増やす T-SQL
テーブル内のすべての列をループして、現在のサイズに基づいて各フィールドのサイズを増やす方法があるかどうか疑問に思っています。基本的に、現在フィールド サイズが 1000 文字未満のフィールドを 1000 文字に設定する必要があります。私は次のようなことができます
変更したいフィールドごとに変更しますが、何百ものフィールドがあり、可能であればプログラムで実行したいと考えています。ありがとう。
sql-server-2008 - SQL Server: 列の型を変更するとテーブルのデータ サイズが 2 倍になる
列の型を実際の小さい型に変更しました。
テーブルには 4 Mio が含まれています。記録。以前は約 1.1 GB のスペースを使用していましたが、列の変更後は 2.2 GB のスペースを使用しています。それについての説明はありますか?
SMO を使用するか、SQL Server Management Studio のテーブル プロパティを参照して、使用するスペースを見つけます: "MyTable -> プロパティ -> ストレージ -> データ スペース"。これがデータによって使用される実際のスペースであるとは思えません。
sql - PostgreSQL テーブルの列のデータ型を変更するには?
次のコマンドを PostgreSQL インタラクティブ ターミナルに入力すると、エラーが発生します。
列のデータ型を変更する正しいコマンドは何ですか?
sql-server - 大きなテーブルで VARCHAR 列のサイズを大きくすると、問題が発生する可能性がありますか?
私は SQL Server 2008 を使用しており、約 50 万行のテーブルで VARCHAR フィールドを (200 から 1200 に) 大きくする必要があります。私が知る必要があるのは、私が考慮していない問題があるかどうかです.
この TSQL ステートメントを使用します。
私はすでにデータのコピーでそれを試しましたが、このステートメントによる悪影響は見られませんでした。
それで、私が考えていなかったかもしれないこれを行うことからの可能性のある問題はありますか?
ちなみに、列にはインデックスがありません。