Строковый арифметический декремент в sqlite - PullRequest
0 голосов
/ 18 сентября 2011

В моей базе данных есть поле X, которое содержит текстовые значения.Мои значения все ascii (между 0-255 кодами ascii), я хотел бы уменьшить все мои значения.Если мы имеем, например, «1» в качестве текста, вместо него должно быть «0».Сначала я хотел использовать функции ASCII и CHAR, но они не доступны в sqlite.Любые советы?

1 Ответ

2 голосов
/ 18 сентября 2011

Если все ваши значения являются одним символом, вы можете использовать таблицу значений замещения; вот частичный пример:

sqlite> create table m1 (c,p);
sqlite> insert into m1 values ('b','a');
sqlite> insert into m1 values ('c','b');
sqlite> insert into m1 values ('d','c');
sqlite> create table tst (x);
sqlite> insert into tst values ('c');
sqlite> insert into tst values ('c');
sqlite> insert into tst values ('d');
sqlite> insert into tst values ('d');
sqlite> select * from tst;
c
c
d
d
sqlite> update tst set x = (select p from m1 where c = x);
sqlite> select * from tst;
b
b
c
c
sqlite> 

Вы должны были бы конкретизировать таблицу m1 для всех возможных значений.

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