【发布时间】:2023-03-08 22:30:02
【问题描述】:
我正在尝试模仿 Oracle 12c 中的 C# 函数 Encoding.ASCII.GetBytes。我快到了,但不知道为什么会得到以下结果:
甲骨文
declare
l_string varchar2(4000) := 'Test';
begin
dbms_output.put_line(utl_raw.cast_to_raw(l_string));
end;
由此产生的输出是:
54657374
C#
internal static string ConvertTest()
{
var inputString = "Test";
Console.WriteLine(BitConverter.ToString(Encoding.ASCII.GetBytes(inputString)));
}
由此产生的输出是:
54-65-73-74
所以我似乎快到了,但我不明白为什么 C# 在每个字节之间有“-”而 Oracle 没有。
是否有一个 Oracle 函数可以复制 C# 的输出?
谢谢。
【问题讨论】:
-
不知道有没有别的函数,不过你可以用
regexp_replace(rawstr,'(..)(..)(..)','\1-\2-\3-')格式化一下。
标签: c# sql oracle visual-studio