我有一个类型为StringBuffer的变量,它具有空字符,即'\0‘中间。我可以用空字符正确地打印变量。但是,当我试图在Oracle表中插入这个变量时,我无法插入整个StringBuffer变量;只能插入'\0‘之前的部分。插入此变量的列的数据类型为varchar2(50)。我不知道为什么会这样。可能是oracle不允许带有空项字符中间的字符串。我知道,一旦在字符串中遇到'\0‘,它将被视为字符串的结尾。这是我试过的
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,“
请告诉我如何插入一个空字符中间字符串。
发布于 2015-02-24 12:32:54
是的,在甲骨文中,Varchar2的行为就像一个以空结尾的字符串.
您可以在此文档01/appdev.101/b10779/oci03typ.htm中搜索
所以,尝试一些不同的字符,而不是\0
https://stackoverflow.com/questions/28695197
复制相似问题