2010-10-29 53 views
2
  1. SQLite 3中的字符串是否可以包含NUL个字符?
  2. 如果1的答案是“是”,那么它们如何写入SQL查询? SQLite似乎没有chrchar函数。
+0

这是冒险使用含有NULL字符的字符串,我不知道他们是否会在SQLite的突破,但他们风险在处理最终字符串的其他工具中被裁剪掉。 – 2010-10-29 05:59:47

+1

我不知道是否使用blob miht更合适。问题是你不能只使用一个标准的插入,你必须把它绑定,我想。我对这一点知之甚少,但我也希望得到答案。 – MPelletier 2010-10-29 13:47:58

+0

我现在使用的是blob,但是如果能够使用字符串,那也不错。 – 2010-10-29 13:51:13

回答

0

不知道从哪个版本起它是支持的,但你可以做到这一点:

create table foo (bar data); 
insert into foo(bar) values (x'001122334400ff'); 
select length(bar),hex(bar),bar from foo; 
+0

这是一个blob(已在评论中提到),而不是一个字符串。 – 2010-10-29 15:14:03

+0

在sqlite中,无论列声明(和隐含关联)如何,任何blob数据总是会成为blob。请参阅http://www.sqlite.org/datatype3.html上的“列关联行为示例”下的示例来说明这一点。 – 2010-11-01 10:26:31