Это может быть достигнуто с небольшим количеством волшебства, используя конкатенацию строк и функцию substr
.Короче говоря, вот что вы хотите:
select substr('0000000000'||'1234', -10, 10)
Ниже приведено объяснение.
Во-первых, знайте, что оператор конкатенации строк SQLite - ||
.
Мы начнем с того, что возьмем строку, равную значению, которое мы хотим вернуть.Например, если вы хотите вернуть число, которое всегда имеет длину 10 символов, и оставить его с добавлением 0
s, если оно короче, начните со строки из десяти 0
s.На это мы свяжем число, которое вы хотите вернуть.В нашем примере это «1234».Пока что у нас есть часть, которая выглядит следующим образом: '0000000000'||'1234'
Затем передайте все это в функцию substr
. Согласно документации , вот как работает функция substr
:
Функция substr (X, Y, Z) возвращает подстроку входной строки X, которая начинается с Y-йсимвол и который Z символов в длину.... Если Y отрицательный, то первый символ подстроки находится путем подсчета справа, а не слева.
Таким образом, если вы хотите, чтобы длина строки составляла 10 символов, передайте -10 в качестве параметра Y (чтобы начать отсчет справа, 10 символов назад) и передайте 10 в качестве параметра Z (чтобы получить всего 10 символов)).