SQLite存储以零开头的字符串,例如“001”

时间:2013-01-17 15:10:29

标签: sqlite types

我在SQLite中选择哪种数据类型来在数据库中存储字符串,例如“001”。

我尝试使用 Text 但是当我输入字符串001时,它会丢弃00并且只会输入1。

我甚至尝试使用“blob”数据类型,但仍然没有运气。它们都会在数字之前删除零。

2 个答案:

答案 0 :(得分:6)

对我来说没问题:

sqlite> create table sotest
   ...> (
   ...> col1 varchar(20)
   ...> );
sqlite>
sqlite> select * from sotest;
sqlite>
sqlite> insert into sotest values ('001');
sqlite> select * from sotest;
001
sqlite>

也许你没有引用你的字符串?例如:

sqlite> insert into sotest values ('001');
sqlite> select * from sotest;
001
sqlite> insert into sotest values (001);
sqlite> select * from sotest;
001
1
sqlite>

答案 1 :(得分:2)

列类型应设置为varchar,而不是string,如果type为字符串,则将自动删除。