Как найти символ в N-й позиции строки
Например,
create table tblvarchar
(
lngvarchar character varying(500)
)
И строка выборки
insert into tblvarchar (lngvarchar) values ('110010000001111101010011110000001101011000001')
- Как узнать
character
(в этом случае (0
или1
)) в полеlngvarchar
, используя позициюcharacter
? - например,
character
в 15-й позицииlngvarchar
является1
На PostgreSQL 9.2.4
2 ответа:
Вы можете сделать это (начальная позиция 15, пример длины 1):
SELECT SUBSTRING(lngvarchar,15,1) FROM tblvarchar;
СКРИПКА SQL
Если ваши данные содержат только
0
и1
, Вы можете использовать битовые строки вместоcharacter varying
(bit varying
в вашем случае).Вы можете использовать функцию
get_bit()
для получения одного бита (но эта функция использует индексацию на основе нуля); такжеsubstring()
работает и с битовыми строками (но даст вам результатыtext
).