SQLite前置零

时间:2018-12-14 19:26:53

标签: sqlite

有人知道如何将前导零添加到sqlite中的列吗? 我正在获取1、2之类的列,对于我们的数据导入,它们必须是3个字符代码,且前导零。

我已经尝试过了

update LockBox
set CustomField2 = case
             when CustomField2 = '1' then '001'
             end
WHERE CustomField2 = '1';

但是没有给我正确的结果。我可能做错了。我更多的是一个SQL Server的家伙,而不是一个sqlite的人 我会在SQL Server中完成

 SELECT RIGHT('000'+CAST(field AS VARCHAR(3)),3)

如何在SQLite中完成此操作。我想更新表格,然后导出为CSV导入到我们的业务应用程序中。

2 个答案:

答案 0 :(得分:1)

使用bin

substr

提供update LockBox set CustomField2 = substr('000' || CustomField2, -3, 3); 中的所有值都不得超过3位数字。

答案 1 :(得分:0)

将列定义为 text

$ sqlite3 types
sqlite> create table T( i integer, c text );
sqlite> insert into T values ( '001', '001' );
sqlite> select * from T;
i           c         
----------  ----------
1           001