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

MS SQL サーバー - HEX 文字列を整数に変換します

    より明確な例を挙げていただきありがとうございます。ドキュメントと Google で調べた限りでは、これは UDF やその他の手続き型コードがなければ MSSQL 2005 では不可能です。 MSSQL 2008 では、CONVERT() 関数の スタイル パラメータはバイナリデータをサポートするようになったので、次のように直接実行できます:

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

    以前のバージョンでは、次の選択肢があります:

    • UDF を使用します (TSQL または CLR。​​実際には CLR の方が簡単かもしれません)
    • ストアド プロシージャで SELECT をラップします (ただし、UDF に相当するものが含まれている可能性があります)
    • アプリケーション フロント エンドで変換
    • MSSQL 2008 へのアップグレード

    データの変換が表示のみを目的としている場合は、アプリケーションが最も簡単な解決策になる可能性があります。通常、データの書式設定はとにかくそこに属します。クエリで実行する必要がある場合は、UDF が最も簡単ですが、パフォーマンスは良くない可能性があります (UDF を使用しない方がよいと言っていましたが、その理由は明らかではありません)。これだけのために MSSQL 2008 にアップグレードするのはおそらく現実的ではないと思います。

    最後に、参考までに、含めたバージョン番号は、サーバーのバージョン番号ではなく、Management Studio のバージョンです。それを取得するには、select @@version でサーバー自体にクエリを実行します または select serverproperty('ProductVersion') .




    1. 先月の最初と最後の日を取得するための最良の方法は?

    2. mysql.connector-SQL構文にエラーがあります。 1行目の「%s」の近く

    3. OracleFormsからMicrosoftWordのスペルチェックを呼び出す際のVistaフォーカスの問題

    4. パブリックシノニムを正しく作成する方法