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

SQLServer2017のデータ型のリスト

    この記事には、SQL Server 2017で使用可能なシステム提供のデータ型のクイックリファレンスと、バイト単位の最大長、精度、スケール、データ型がnull許容かどうか( 1 <)などの基本情報が含まれています。 / code> null許容、 0を意味します null許容ではないことを意味します。

    正確な数値

    名前
    最大長 精度 スケール Nullable?
    bigint 8 19 0 1
    ビット 1 1 0 1
    10進数 17 38 38 1
    int 4 10 0 1
    お金 8 19 4 1
    数値 17 38 38 1
    smallint 2 5 0 1
    smallmoney 4 10 4 1
    tinyint 1 3 0 1

    おおよその数値

    名前
    最大長 精度 スケール Nullable?
    フロート 8 53 0 1
    本物 4 24 0 1

    日時

    名前
    最大長 精度 スケール Nullable?
    日付 3 10 0 1
    datetime2 8 27 7 1
    datetime 8 23 3 1
    datetimeoffset 10 34 7 1
    smalldatetime 4 16 0 1
    時間 5 16 7 1

    文字列

    名前
    最大長 精度 スケール Nullable?
    char 8000 0 0 1
    テキスト 16 0 0 1
    varchar 8000 0 0 1

    Unicode文字列

    名前
    最大長 精度 スケール Nullable?
    nchar 8000 0 0 1
    ntext 16 0 0 1
    nvarchar 8000 0 0 1

    バイナリ文字列

    名前
    最大長 精度 スケール Nullable?
    バイナリ 8000 0 0 1
    画像 16 0 0 1
    varbinary 8000 0 0 1

    その他のデータ型

    名前
    最大長 精度 スケール Nullable?
    hierarchyid 892 0 0 1
    sql_variant 8016 0 0 1
    ジオメトリ -1 0 0 1
    地理 -1 0 0 1
    タイムスタンプ* 8 0 0 0
    一意の識別子 16 0 0 1
    xml -1 0 0 1
    sysname 256 0 0 0

    *タイムスタンプ データ型は行バージョンの同義語です データ・タイプ。詳細については、以下を参照してください。

    「カーソル」、「テーブル」、「行バージョン」のタイプ

    sys.typesを介して上記の表の情報を取得しました システムカタログビュー。上記のタイプに加えて、データタイプに関するMicrosoftのドキュメントには、カーソルもリストされています。 およびテーブル タイプ、および行バージョン タイムスタンプの代わりに 。

    「タイムスタンプ」タイプ

    Microsoftは、タイムスタンプ 構文は非推奨です。 行バージョンを使用することをお勧めします タイムスタンプの代わりに 可能な限り、DDLステートメントで。

    ただし、それまでの間、列がタイムスタンプとして定義されているように見える場合があります。 rowversionを明示的に指定した場合でも それらを作成するとき(Transact-SQLを使用)。それでも、Microsoftは、これが今後使用する正しい構文であることをお勧めします。

    タイムスタンプにも注意してください T-SQL /SQLServerのタイムスタンプとは異なります ISO規格で定義されているデータ型。

    それが非推奨になった理由は、その名前が引き起こした混乱によるものと思われます。 Microsoftは2007年にこれを認め、将来のリリースでは下位互換性のある方法で対処しようとするとアドバイスしました。

    自分のデータベースを確認する

    sys.types を使用して、独自のデータベースのデータ型情報を取得できます。 システムビュー。説明と例については、SQLServerでデータ型のリストを返す方法を参照してください。このビューを実行すると、データベースにあるエイリアスとユーザー定義のタイプも返されます。


    1. 多くのテーブルの1つへの外部キー?

    2. CentOS5でMySQLリレーショナルデータベースを使用する

    3. ツリービューノードへの画像の割り当て-2

    4. ストアドプロシージャから複数の行を返す方法は? (Oracle PL / SQL)