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

SQL Server(T-SQL)で10進数を16進数に変換する3つの方法

    SQLServerで10進数から16進数に変換する3つの方法は次のとおりです。

    例1-CONVERT()関数

    まず、CONVERT()を使用します 働き。これにより、SQLServerのデータ型間で変換できます。

    この関数を使用して10進値を16進に変換する例を次に示します。

    SELECT CONVERT(VARBINARY(8), 64683) Result;
    

    結果:

    +------------+
    | Result     |
    |------------|
    | 0x0000FCAB |
    +------------+
    

    この場合、10進値64683を変換します VARBINARY(8)へ 。

    例2– CAST()関数

    または、CAST()を使用することもできます 前の例と同じことを行う関数:

    SELECT CAST(64683 AS VARBINARY(8)) Result;
    

    結果:

    +------------+
    | Result     |
    |------------|
    | 0x0000FCAB |
    +------------+
    

    CAST()に注意してください およびCONVERT() わずかに異なる構文を使用します。 CAST()の場合 キャストされる値が最初に来ますが、CONVERT()ではその逆です。 。

    例3– FORMAT()関数

    FORMAT()を使用することもできます 10進値を16進文字列としてフォーマットする関数。

    SELECT FORMAT(64683, 'X') Result;
    

    結果:

    +----------+
    | Result   |
    |----------|
    | FCAB     |
    +----------+
    

    X 引数は、結果の形式が16進数であることを指定するものです。

    小文字のxを使用することもできます 結果が小文字を使用することを指定するには:

    SELECT FORMAT(64683, 'x') Result;
    

    結果:

    +----------+
    | Result   |
    |----------|
    | fcab     |
    +----------+
    

    この関数の戻り値はnvarcharです 。これは、値をバイナリ定数として返す他の2つの関数とは異なります(0xでわかります)。 プレフィックス)。


    1. Coalesce()がSQLiteでどのように機能するか

    2. MySQLを保護する方法:パート2

    3. 既存の設定を失うことなくMySQLのsql_modeにオプションを追加する方法

    4. #temptableと##TempTableの違いは?