Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL:Chuyển đổi một số nguyên thành một chuỗi hex?

Có một hàm tích hợp để tạo ra các chuỗi hex từ các giá trị nhị phân

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

Bạn cần binary(3) để đảm bảo độ dài chính xác của chuỗi đầu ra
Điều này là sai. Bạn nhận được 4 chữ số hex vì 0 và 255 ở đây là 4 byte int giá trị

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

Cập nhật tháng 10 năm 2017:

Chuyển đổi hiện đã được tích hợp sẵn sang SQL Server (kể từ năm 2008 !!), vì vậy chúng tôi có thể chỉ cần sử dụng 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. Trả về danh sách các lược đồ phân vùng trong SQL Server (T-SQL)

  2. Kết hợp giá trị trường thành chuỗi trong SQL Server

  3. Nhập tệp CSV vào SQL Server bằng SqlBulkCopy

  4. Chọn kích thước cơ sở dữ liệu SQL Server

  5. C # SQLServer truy xuất kết quả và đặt ở định dạng .csv