5

例如,

create table tblvarchar 
(
lngvarchar character varying(500)
)

样本行是

insert into tblvarchar (lngvarchar) values ('110010000001111101010011110000001101011000001')
  • 如何使用 的位置找出字段中的character(本例(01))?lngvarcharcharacter
  • 例如,第character15 位lngvarchar1

在 PostgreSQL 9.2.4 上

4

2 回答 2

6

您可以这样做(起始位置 15,长度 1 示例):

SELECT SUBSTRING(lngvarchar,15,1) FROM tblvarchar;

SQL 小提琴

于 2014-07-23T10:23:49.243 回答
1

如果您的数据仅包含0and 1,您可能希望使用位字符串而不是character varying(bit varying在您的情况下)。

您可以使用该get_bit()函数获取单个位(但该函数使用基于零的索引);也substring()适用于位串(但会给你text结果)。

SQLFiddle

于 2014-07-23T11:33:41.743 回答