目次

ニュース

日記カテゴリ

書庫

またしてもうちのプロジェクトから
#ってか技術系のblogってそんなもんか

んーと、うちのプロジェクトのDBって結構統一性がなくて、
ある項目が同じ意味を持つのに方やCharだったり方やNumberだったりしますw
#それも困りもんだねー

で今困っているのは金額の項目がChar型でしかも集計しなければいけなくて困ってます。
いや、まぁ解決はできてるのですがレスポンス的に・・・

しかも困ったことに左一桁目でプラスとマイナスを識別み・・

なんでこの項目をNumberとして使用したい場合以下のようなSQLを書いています。
case when substr(金額, 1, 1) = プラスかマイナス then to_number(substr(金額 ,2)) else to_number(substr(金額, 2)) * -1 end 金額

みたいなw

Function Indexを張った日にゃもう大変で・・・w
#商用環境では絶対できまへんな

意図があればいいんですけど、設計者がもうプロジェクトにおらず意図不明

 

投稿日時 : 2008年2月22日 20:03
Feedback
  • # re: 金額の項目をChar型で設定する
    はつね
    Posted @ 2008/02/22 20:24
    意図は無知だから。
    例えば桁あわせしたいとかそんな程度のことだと想像。

    ところで、これって一桁目が「+」「-」だったら二桁目以降を金額として扱い、一桁目がそれ以外だったらニ桁目以降を-金額とするの?

    TO_NUMBER(DECODE(SUBSTR(金額,1,1),'+','','-','','-')||SUBSTR(金額,2))

    みたいな。
  • # re: 金額の項目をChar型で設定する
    VOW
    Posted @ 2008/02/22 20:41
    金額項目含むすべてのカラムがChar型で、予備として未使用の列が200列くらい定義してあるDBとかみたことあります。
    なんだかなぁ・・・
  • # re: 金額の項目をChar型で設定する
    はつね
    Posted @ 2008/02/22 21:54
    > 未使用の列が200列くらい定義

    典型的な汎用機時代のテーブル設計ですね。
  • # re: 金額の項目をChar型で設定する
    taka
    Posted @ 2008/02/23 12:12
    >ところで、これって一桁目が「+」「-」だったら二桁目以降を金額として扱い、一桁目がそれ以外だったらニ桁目以降を-金額とするの?
    あぁ、そこ聞いていない。
    Charにすると余計な考慮が必要だからなー orz

    >VOWさん
    はじめまして。
    >金額項目含むすべてのカラムがChar型で、予備として未使用の列が200列くらい定義してあるDBとかみたことあります。
    見たくねーw
    100歩譲って携わりたくねーw
タイトル
名前
Url
コメント 

Blog 利用状況