Oracle GUID轉換為String


Oracle中guid屬於Raw(16)類型, 查詢的時候如果不使用下面的函數, 程序中得到的是數組(byte[]). 在extjs環境下, 會帶來數組的反序列化問題(newtonsoft.json). 因此有必要將raw(16)類型轉換為字符串輸出. 檢索時直接采用字符串即可(oracle內部可以轉換)

//根據GUID檢索(GUID是raw(16)類型):

...

   strSql.Append(strSelect);
            strSql.Append(" where GUID=:GUID ");
            OracleParameter[] parameters = {
     new OracleParameter(":GUID", OracleDbType.Varchar2,32)};
            parameters[0].Value = GUID;

...

//查詢部分語句(將GUID轉換為字符串):

SELECT rawtohex(GUID)as GUID,.....

 

HEXTORAW 
語法: HEXTORAW(string) 
功能: 將由string表示的二進制數值轉換為一個RAW數值. String應該包含一個十六進制的數值. String中的每兩個字符表示了結果RAW中的一個字節..HEXTORAW和RAWTOHEX為相反的兩個函數. 
使用位置: 過程性語言和SQL語句。

RAWTOHEX 
語法: RAWTOHEX(rawvalue) 
功能: 將RAW類數值rawvalue轉換為一個相應的十六進制表示的字符串. rawvalue中的每個字節都被轉換為一個雙字節的字符串. RAWTOHEX和HEXTORAW是兩個相反的函數. 
使用位置: 過程性語言和SQL語句。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM