IT関連

AS400/IBMi DB2 SQL 文字を数値に変換して小数で表示する

投稿日:

自分の備忘録です。

間違えがあったらご容赦ください。

その場合はご指摘いただければ大変助かります。

 

文字列型のフィールドの中に無理やり数字を入れているケース、というか数字として自分で認識しているケース。

例えば、MD35というカラムとして、入っている物が「001340」など。

 

ファイルの製作者はこれで「13.4」という数字を表現しているという土台無茶な話

 

これをSQLで指定するともちろん「001340」となります。

完璧に文字ですね。

 

数字に直すのはINTEGERを使います。

でもこれは整数なので、INTEGER(MD35)とすると「1340」になります。

さらにINTEGER(MD35/100)とすると「13」になります。

小数が消し飛び電子のチリとなります。

 

欲しいのは少数。

小数を出すにはDECIMALを使うそうです。

DECIMAL(MD35/100,5,1)とすると整数5桁+小数1桁になる。

でもこれ、結果は「13.0」になります。

 

たぶん文字のフィールドを割っているからだと思います。

これで悩みました。

 

結論を言えば

DECIMAL(DECIMAL(MD35)/100,5,1)

としたら出来ました。

 

DECIMALで小数がある数値に直したものを100で割ってさらにDECIMALで小数区切りにするみたい。

以上です。

スポンサーリンク




スポンサーリンク




-IT関連
-, ,

執筆者:


comment

Your email address will not be published. Required fields are marked *

関連記事

AS400/IBMi フリーフォームRPGの書き方備忘録

私の備忘録です。何も知らない初心者なので見当違いがあるかと思います。 よろしければぜひご指摘ください。順次追加していきます。     よくあるYの指定 RPGIIIやRPGIVで一 …

AS400/IBMi 無料でWeb化 GUI化 オープン化 Linuxサーバ構築編 1/3

とりあえず前回の回までで、XAMPP環境でAS400のGUI化を構築して運用する手順は完成しました。 AS400を 無料でWeb化 GUI化 オープン化 PHP/Laravel開発編   し …

AS400/IBMi 無料でWeb化 GUI化 オープン化 Linuxサーバ構築編 2/3

1/3でグダグダと説明してまいりましたが、構築作業の事前準備として2/3を設けました。   さっそく初めて行きます。   準備するもの Linux用Access_Client_So …

Laravel DBクラスのSQLで1件だけ取り出したい場合

Laravelを使いだして、はや数ヶ月たらず。   青本を勉強して、MVCモデルにのっとり、モデルでテーブルを定義して、コントローラーでモデルを呼び出し、そのテーブル情報をビューに受け渡しつ …

Windows 右クリックからの送るに起動したいプログラムを登録する

やり方 ファイル名を指定して実行を開き(Winキー+R)、 shell:sendto と入力してエンターキーを押す。フォルダが開くのでその中にプログラムのショートカットを入れる。   使い道 …

Adsense広告




文字で検索

人気記事

なぜだか人気記事

読んでほしい順に