1

我需要在文件中(在字符串中间)写入一个 LOW VALUES HEX'00'。

我可以使用包 utl_file 使用下一个代码来做到这一点utl_file.put_raw(v_file, hextoraw('000000'))。但我可能只在文件的开头和结尾做,而不是在字符串的中间。

所以,我的问题是:如何在 select 语句中写一个 LOW VALUES HEX'00'。我尝试了一些变体,例如

Select ‘blablabla’ Q, hextoraw('000000'), ‘blablabla’ w from dual;

将其保存到.dat文件中,然后在十六进制编辑器中打开它,但使用 utl_file 时结果不同。

任何人(如果可能的话)可以写一个正确的sql语句。

4

1 回答 1

1

如果我对您的理解正确,您正在尝试在输出中添加一个空值/二进制零。如果是这样,您可以使用chr(0).

例如。utl_file.putf(l_file, 'This is a binary zero' || chr(0));

在十六进制编辑器中查看它会告诉你:

00000000  54 68 69 73 20 69 73 20  61 20 62 69 6e 61 72 79  |This is a binary|
00000010  20 7a 65 72 6f 00 0a                              | zero..|
于 2012-08-17T09:42:16.947 回答