期間の前にすべてを削除しようとしています。つまり、期間から始まる値のみを表示したいのです。例えば
897.78 ==> 78
74.25 ==> 25
3657.256 ==> 256
以下のコードは期間の前のすべてを表示しますが、期間の後のすべてを表示したいです
select volume, substring(volume from 1 for position('.' in volume) - 1) as column
from MyTable ;
期間の前にすべてを削除しようとしています。つまり、期間から始まる値のみを表示したいのです。例えば
897.78 ==> 78
74.25 ==> 25
3657.256 ==> 256
以下のコードは期間の前のすべてを表示しますが、期間の後のすべてを表示したいです
select volume, substring(volume from 1 for position('.' in volume) - 1) as column
from MyTable ;
select volume, substring(volume from (position('.' in volume)+1) for length(volume)) as column from MyTable;
これはうまくいくはずです(このPCにpostgreがインストールされていないため、テストされていません):)
編集:ただでも
select volume, substring(volume from position('.' in volume)+1) as column from MyTable;
部分文字列の開始位置のみを定義できるため、機能するはずです
別の方法は、次を使用することstring_to_array
です。
select volume,(string_to_array(volume,'.'))[2] as column
from mytable