2012-10-05 71 views
2

我有一个数据库test.db与第一列包含123456;abcdef;ghijk等。是否有可能将数据拆分到自己的柱子?Sqlite从列创建新列包含;

123456永不改变长度。

abcdefghijk更改长度,也可能不包含任何内容。

我曾尝试下面的字符串,但我得到的;出现在任何t2t3取决于abcdefghijk长度。

select substr(column,1,6) AS "t1", 
     substr(column,8,6) AS "t2", 
     substr(column,15,10) AS "t3" test.db 

;分隔符是否导致该问题?

或者我可以输出数据库到.sql,格式化txt然后导入到新的数据库?

+0

如果这些'字段'的长度不固定,使用'substr'将无济于事。 – 2012-10-05 10:30:32

+0

Thankyou回复。所以这是不可能的,有没有另一种方式? – Atlas

+0

您可以在SQLite之外使用哪些工具?那么Python呢? – 2012-10-05 10:34:42

回答

1

没有built-in SQLite function可以像这样拆分字符串。

如果您使用的是SQLite C API或APSW等包装,您可以创建自己的函数(C,APSW)。

如果您只想进行一次性转换,则通过文本文件导出/导入将是最简单的解决方案。

+0

我想要做的是得到;删除给自己的数据列,然后使用SQLite PHP生成器创建我的网站的数据库的PHP页面。我认为这对我来说可能有点多余,因为我还在学习。 – Atlas