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

SQL:整数を16進文字列に変換しますか?

    16 進数の 文字列 を生成する組み込み関数があります。 バイナリ値から

    SELECT
        '#' + sys.fn_varbintohexstr(CONVERT(BINARY(3), 0)),
        '#' + sys.fn_varbintohexstr(CONVERT(BINARY(3), 255))
      

    binary(3) が必要です 出力文字列の正しい長さを確保するために
    これは間違っています。ここの 0 と 255 は 4 バイトの int であるため、4 桁の 16 進数を取得します。 値

    SELECT
        '#' + sys.fn_varbintohexstr(CONVERT(varBINARY(8), 0)),
        '#' + sys.fn_varbintohexstr(CONVERT(varBINARY(8), 255))
      

    2017 年 10 月の更新:

    変換は SQL Server に組み込まれているため (2008 年以降!!)、単純に CONVERT を使用できます

    SELECT '#' + CONVERT(char(6), CONVERT(BINARY(3), 2570841), 2)
      

    1. MySQLiへのアップグレード-mysqlをmysqliに交換するのと同じくらい簡単ですか?

    2. 'psql'のパスワードを非対話的に指定するにはどうすればよいですか?

    3. MySQLのCSVへのエクスポートでHTMLを取得するのはなぜですか?

    4. OracleRACとシーケンス