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

MS SQL server - konversi string HEX ke integer

Terima kasih telah memberikan beberapa contoh yang lebih eksplisit. Sejauh yang saya tahu dari dokumentasi dan Googling, ini tidak mungkin di MSSQL 2005 tanpa UDF atau kode prosedural lainnya. Di MSSQL 2008 gaya fungsi CONVERT() parameter sekarang mendukung data biner, sehingga Anda dapat melakukannya secara langsung seperti ini:

select convert(int, convert(varbinary, '0x89', 1))

Di versi sebelumnya, pilihan Anda adalah:

  • Gunakan UDF (TSQL atau CLR; CLR mungkin sebenarnya lebih mudah untuk ini)
  • Bungkus SELECT dalam prosedur tersimpan (tetapi Anda mungkin masih memiliki UDF yang setara di dalamnya)
  • Konversikan di bagian depan aplikasi
  • Tingkatkan ke MSSQL 2008

Jika mengonversi data hanya untuk tujuan tampilan, aplikasi mungkin merupakan solusi termudah:pemformatan data biasanya tetap ada di sana. Jika Anda harus melakukannya dalam kueri, maka UDF paling mudah tetapi kinerjanya mungkin tidak bagus (saya tahu Anda mengatakan Anda lebih suka tidak menggunakan UDF tetapi tidak jelas mengapa). Saya menduga bahwa mengupgrade ke MSSQL 2008 hanya untuk ini mungkin tidak realistis.

Terakhir, FYI nomor versi yang Anda sertakan adalah versi Management Studio, bukan nomor versi server Anda. Untuk mendapatkannya, kueri server itu sendiri dengan select @@version atau select serverproperty('ProductVersion') .




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

  2. Beberapa klausa OUTPUT dalam perintah SQL MERGE/INSERT/DELETE?

  3. Kerangka Entitas:Sudah ada DataReader terbuka yang terkait dengan Perintah ini

  4. Kolom Indeks Kunci VS Indeks Termasuk Kolom

  5. Fungsi agregat sql untuk mendapatkan daftar