Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL:Ubah integer menjadi string hex?

Ada fungsi bawaan untuk menghasilkan hex string dari nilai biner

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

Anda memerlukan binary(3) untuk memastikan panjang yang benar dari string keluaran
Ini salah. Anda mendapatkan 4 digit hex karena 0 dan 255 di sini adalah 4 byte int nilai

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

Pembaruan Oktober 2017:

Konversi sekarang terintegrasi ke SQL Server (sejak 2008!!) jadi kita cukup menggunakan CONVERT

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah kueri SQL

  2. Apakah Gabung dan Gabungkan sama di SQL Server?

  3. Temukan nama tabel di semua objek dari semua database

  4. Bagaimana mengkonversi nvarchar ke desimal di SQL

  5. Excel 32-bit dan SQL Server 64-bit