HEXTORAW 语法: HEXTORAW(string) 功能: 将由string表示的二进制数值转换为一个RAW数值. String应该包含一个十六进制的数值. String中的每两个字符表示了结果RAW中的一个字节..HEXTORAW和RAWTOHEX为相反的两个函数. 使用位置: 过程性语言和SQL语句。
RAWTOHEX 语法: RAWTOHEX(rawvalue) 功能: 将RAW类数值rawvalue转换为一个相应的十六进制表示的字符串. rawvalue中的每个字节都被转换为一个双字节的字符串. RAWTOHEX和HEXTORAW是两个相反的函数. 使用位置: 过程性语言和SQL语句。
比如读取Oracle中guid
OracleDataReader reader=。。。
while (reader.Read())
{
int index = reader.GetOrdinal("ID");
if (index != -1)
{
try
{
Object value = reader.GetValue(index); //此时value是byte[] 类型 ,无法用tostring()方法转化为字符串
byte[] temp = value as byte[];
StringBuilder sbTemp = new StringBuilder();
for (int i = 0; i < temp.Length; i++)
{
sbTemp.Append(temp[i].ToString("X2")); //将16进制数转换为 2个字符
}
string str = sbTemp.ToString();
p.SetValue(item, str, null);
}
catch (Exception ex)
{
{
int index = reader.GetOrdinal("ID");
if (index != -1)
{
try
{
Object value = reader.GetValue(index); //此时value是byte[] 类型 ,无法用tostring()方法转化为字符串
byte[] temp = value as byte[];
StringBuilder sbTemp = new StringBuilder();
for (int i = 0; i < temp.Length; i++)
{
sbTemp.Append(temp[i].ToString("X2")); //将16进制数转换为 2个字符
}
string str = sbTemp.ToString();
p.SetValue(item, str, null);
}
catch (Exception ex)
{
}
}
}
}
}