[pgsql-jp: 27981] Re: 文字列を数値でselect する方法

Mashiki mashiki @ yanah.com
2002年 11月 16日 (土) 01:38:45 JST


 Mashikiです。

>select * from testtable where value~1234;
>
>ただし
>select * from testtable where value~01;
>はハズレなようですけど。

おお、シングルクォートを使わなくてもいけるんですね。
思い切りポスグレ専用!!

create table testtable (
    id     int,
    value  char(10)
);
insert into testtable values(1,    '1234');
insert into testtable values(2, '0001234');
insert into testtable values(3, '   1234');
insert into testtable values(4,   '51234');
insert into testtable values(5,   '12340');

元の数値の意味を考えると4とか5はヒットしちゃいけないから

select * from testtable where value~' *0*1234 *';

な感じですか。やはりインデクスは使えないですが、
数値に変換するより見た目はっすっきりですね。



pgsql-jp メーリングリストの案内