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

整数を16進数に、16進数を整数に変換

    INTを16進数に変換します:

    SELECT CONVERT(VARBINARY(8), 16777215)
    

    16進数をINTに変換します:

    SELECT CONVERT(INT, 0xFFFFFF)
    

    更新2015-03-16

    上記の例には、HEX値が整数リテラルとして指定されている場合にのみ機能するという制限があります。完全を期すために、変換する値が16進文字列(varchar列にあるものなど)の場合は、次を使用します。

    -- If the '0x' marker is present:
    SELECT CONVERT(INT, CONVERT(VARBINARY, '0x1FFFFF', 1))
    
    -- If the '0x' marker is NOT present:
    SELECT CONVERT(INT, CONVERT(VARBINARY, '1FFFFF', 2))
    

    注: 文字列には、偶数の16進数が含まれている必要があります。桁数が奇数の場合、エラーが発生します。

    詳細については、CASTおよびCONVERT(Transact-SQL)の「バイナリスタイル」セクションを参照してください。 SQLServer2008以降が必要だと思います。



    1. DebianとUbuntuにMariaDB10をインストールする方法

    2. 初心者向けのSQLNotEqual To(!=)演算子

    3. Ibatisを使用したインサートでIDを返す方法(RETURNINGキーワードを使用)

    4. Oracleで値に少なくとも1桁の数字が含まれているかどうかを検出する