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

SQLServerのCHARとVARCHARの違いは何ですか-SQLServer/T-SQLチュートリアルパート31

    CHAR およびVARCHAR どちらのデータ型も文字列の格納に使用されます。

    文字は固定幅です。つまり、文字値の格納サイズは列/変数の最大サイズと同じです。

    Varcharは可変長です。 Varcharが使用するストレージサイズは、実際に保存されている文字によって異なります。


    例1:

    いくつかの変数を作成してから、同じ文字列を保存して、SQLServerのdatalength関数で使用されるストレージを確認しましょう。

    Declare @Variable1 CHAR(20)
    Declare @Variable2 VARCHAR(20)
    
    SET @Variable1='TechBrothersIT'
    SET @Variable2='TechBrothersIT'
    
    Select datalength(@Variable1) as VarLength1, datalength(@Variable2) as VarLength2
     
     SQLServerのCHARとVARCHARの違いは何ですか-T-SQLチュートリアル
    できる限り上記を参照してください。14文字しか保存していなくても、Charは20文字で20バイトのスペースを占有していました。一方、Varcharは14文字を格納するために14バイトしか使用しませんでした。


    例2:

    charと他のvarchatデータ型の2つの列を持つテーブルを作成しましょう。同じ情報を格納し、datalength関数を使用して各値が占めるスペースを確認します。
    Create table dbo.CharVsVarChar( CHARName CHAR(50),VARName VARCHAR(50))
    insert into dbo.CharVsVarChar  
    Values
    ('Aamir','Aamir'),
    ('TechBrothersIT','TechBrothersIT')
    ,('Raza','Raza')
    go
    Select DataLength(CharName) AS CHARNameLength,DataLength(VarName) AS VarNameLength 
    From dbo.CharVsVarChar
     
     SQLServerのCharとVarchar-SQLServer/T-SQLチュートリアル
     
     保存された数や文字に関係なく、Charは常に同じスペースを占めることがわかります。一方、Varcharの占有スペースは、保存する文字数によって異なります。
    固定数の文字を格納することがわかっている場合は、Charを使用できます。それ以外の場合はVarcharを使用します。

    >
    1. 複数のテーブルにわたるSQLの一意性制約

    2. Oracleのすべての権限を持つユーザーを作成します

    3. Postgresql更新時の現在のタイムスタンプ

    4. 可能な限り2番目に高い給与の最良の方法を見つける