在oracle表中插入带有空字符中间字符串的字符串

时间:2015-02-24 11:57:18

标签: java null char

我有一个StringBuffer类型的变量,它具有空字符,即' \ 0'中间。我可以使用null字符正确打印变量。但是当我尝试在Oracle表中插入这个变量时,我无法插入整个StringBuffer变量;只有' \ 0'之前的部分。我插入此变量的列的数据类型为varchar2(50)。 我不知道为什么会这样。可能是oracle不允许使用null term chars intermediate的字符串。我知道有一次' \ 0'在string中遇到,它被视为字符串的结尾。 这是我试过的

StringBuffer buffer = new StringBuffer();
buffer.append("Vishal,");
buffer.append("Tavande,");
buffer.append('\0');
buffer.append("Kolhapur");
System.out.println(buffer);

这显示我输出为" Vishal,Tavande,Kolhapur"。当我把这个缓冲区放在桌子上时,我只能看到" Vishal,Tavande,"

请告诉我如何使用null char intermediate插入一个字符串。

1 个答案:

答案 0 :(得分:3)

是的,在Oracle中,Varchar2的行为类似于以NULL结尾的STRING。

您可以在此文档中搜索http://docs.oracle.com/cd/B14117_01/appdev.101/b10779/oci03typ.htm

因此,请尝试使用其他字符代替\0