SQLite предваряющие нули - PullRequest
0 голосов
/ 14 декабря 2018

Кто-нибудь знает, как добавить начальные нули к столбцу в 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 голосов
/ 14 декабря 2018

Определить столбец как текст ?

$ 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       
0 голосов
/ 14 декабря 2018

Используйте substr:

update LockBox
set CustomField2 = substr('000' || CustomField2, -3, 3);

при условии, что все значения в CustomField2 не длиннее 3 цифр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...