sql >> データベース >  >> RDS >> Sqlserver

SQL Server(T-SQL)で列のデータ型を変更する方法

    データベーステーブルを作成するときは、すべての列とそのデータ型を指定します。一度作成されると、通常、これらのデータ型を変更する意図はありません。結局のところ、スキーマを設計した人は誰でも、すべての列が受け入れるべきデータ型について多くのことを考えていただろう。

    しかし、私たちは皆、物事が変わる可能性があることを知っています。データベースに影響を与える可能性のあるすべてのシナリオを予測するために最善を尽くしましたが、それだけでは不十分な場合もあります。

    では、Transact-SQLを使用してSQL Serverの列のデータ型を変更する必要がある場合は、どうすればよいでしょうか。

    ALTER TABLEを使用します もちろん変更するステートメント。

    T-SQLのALTER TABLEの使用例を次に示します。 列のデータ型を変更するステートメント:

    ALTER TABLE Tasks
        ALTER COLUMN TaskCode char(6);
    GO
    

    これにより、Tasksというテーブルが変更されます 、TaskCodeを変更する char(6)のデータ型への列 。 使用したデータ型を指定する必要はないことに注意してください。 あるべき–あなたは単に新しいデータ型を指定し、それで終わります。残りはSQLServerが行います。

    結果を確認する

    INFORMATION_SCHEMA.COLUMNSにクエリを実行すると、結果を確認できます。 :

    USE Solutions;
    SELECT 
        COLUMN_NAME,
        DATA_TYPE,
        CHARACTER_MAXIMUM_LENGTH AS MAX_LENGTH,
        CHARACTER_OCTET_LENGTH AS OCTET_LENGTH
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = 'Tasks'
    AND COLUMN_NAME = 'TaskCode';

    結果:

    COLUMN_NAME  DATA_TYPE  MAX_LENGTH  OCTET_LENGTH
    -----------  ---------  ----------  ------------
    TaskCode     char       6           6           
    


    1. 2つのJson応答Jsonオブジェクトと配列をフェッチする方法

    2. 奇妙なエラーが発生しました。`WITH`句を使用したSQLServerクエリ

    3. Oracle21cでのTYPE定義の変更

    4. WindowsにMySQL8をインストールする方法