【发布时间】:2010-06-07 01:08:17
【问题描述】:
我有一个文本字段,它存储三个值的组合,':' 分隔。 (看起来像 A:B:C)。
我想将这些值拆分为表中的三个实际列,但我不确定执行此操作的最佳方法。我正在使用 sqlite3,任何帮助都非常感谢!
【问题讨论】:
我有一个文本字段,它存储三个值的组合,':' 分隔。 (看起来像 A:B:C)。
我想将这些值拆分为表中的三个实际列,但我不确定执行此操作的最佳方法。我正在使用 sqlite3,任何帮助都非常感谢!
【问题讨论】:
首先,更改架构以添加所需的列。我假设你知道如何做到这一点。
其次,运行拆分数据的“更新”查询。
更新 mytable 集 column1=..., column2=..., column3=...;
诀窍是制定“...”以从“源”列中提取正确的列。
您很可能会使用 ltrim()、rtrim() 和 CASE(请参阅 http://www.sqlite.org/lang_expr.html),但如果您定义了一个用户定义的函数,可能会基于 length() 和 substring,您可能会更轻松()。
【讨论】:
如果你使用的是 php,它会变成这样:
PHP:
$explodedStr = explode(":", $delimitedStr);
SQL:
"INSERT INTO tableName (column1, column2, column3)
VALUES ('".$explodedStr[0]."','".$explodedStr[1]."', '".$explodedStr[2]."
【讨论】: