[Seasar-user:19536] Re: [DBFlute]同一カラムへの複数条件指定

kubo [E-MAIL ADDRESS DELETED]
2010年 3月 23日 (火) 10:40:46 JST


久保(jflute)です。

hattiさん、こんにちは
(金子さん、フォローありがとうございます)

>> 日付をCHARで定義するのは、あまり、お勧めできないですが・・・。
> アプリ側でそういった入力チェックメソッドは既に用意していたので
> 文字列にしました。
>
> あと、バインド変数にアプリ側から渡すパラメタが文字列なので、
> DB側がDate型だとインデックス貼るのが面倒(ファンクションインデックスになる?)
> だとかの理由でも、文字列にした気もします、、、(X = TO_DATE('20090909', xxxx))
> (ちょっとうろ覚えです)
DB側がDate型の場合は、DBFlute上もDate型になるので、
そもそもCBにセットする前の時点でアプリでDate型に変換する
ことが前提になり、インデックスの考慮はあまり関係しません。
(チェックメソッドがあるなら、そのロジックをそのまま利用して、
Date型に変換するようなメソッドがあればスムーズになるかと)

それよりも、Oracleの場合は "時分秒なしの日付型" ってのが
データ型として用意されていないので、char(8) で「文字列日付」
として扱われるDB設計を多く見てきた気がします。
(もちろん、割り切ってDate型にしているパターンもありますが)

2010/3/21 HATTI <[E-MAIL ADDRESS DELETED]>:
> お世話になっております。
> hatti です。
>
> ご回答ありがとうございます。
>
>> cb.query.setColumnA_LessEqual(target)
>> cb.query.setColumnA_GreaterEqual(target)
> あー、これでいいのですね。
> ありがとうございます。試してみます。
>
>> 日付をCHARで定義するのは、あまり、お勧めできないですが・・・。
> アプリ側でそういった入力チェックメソッドは既に用意していたので
> 文字列にしました。
>
> あと、バインド変数にアプリ側から渡すパラメタが文字列なので、
> DB側がDate型だとインデックス貼るのが面倒(ファンクションインデックスになる?)
> だとかの理由でも、文字列にした気もします、、、(X = TO_DATE('20090909', xxxx))
> (ちょっとうろ覚えです)
>
> 以上、よろしくお願いいたします。
>
> 2010年3月19日15:47 金子 雄一 <[E-MAIL ADDRESS DELETED]>:
>> 金子です。
>>
>> ConditionBeenで行いたいという前提であれば、
>> 以下のように記述すれば、良いのではないかと思います。
>>
>> <例>
>> cb.query.setColumnA_LessEqual(target)
>> cb.query.setColumnA_GreaterEqual(target)
>>
>> ※DBFluteの日付に対する検索条件の調整を考慮すると、
>> 日付をCHARで定義するのは、あまり、お勧めできないですが・・・。
>> アプリ的にも、日付のバリデーションが面倒になりますし。
>> (20109999 なんてデータは、当然、日付としては、ありえないわけで。)
>>
>>
>> 以上、よろしくお願いします。
>>
>>
>> (2010/03/19 12:41), HATTI wrote:
>>> お世話になっております。
>>> hatti です。
>>>
>>> DBFlute0.9.6.5 / OracleXE(10g) を使用しております。
>>> 特に急ぎの質問ではないため、時間のあるときに回答いただけるとありがたいです。
>>>
>>> DBで、日付を8ケタのCHAR(yyyymmdd)で定義しています。
>>> その列に対して、日付の範囲検索を行いたいと思っています。
>>> ('20100808'<= X AND X<= '20100909' など)
>>>
>>> このように、同一カラムへ複数の条件を追加する場合は、
>>> どのように記述すればよろしいでしょうか?
>>>
>>> Date型に対するFromToは見つけたのですが、、、
>>> SQLファイルを記述するしかないでしょうか?
>>>
>>> 以上、よろしくお願いいたします。
>>> _______________________________________________
>>> Seasar-user mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>
>>>
>>
>>
>> --
>> ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
>> 株式会社プラスサム
>> 金子 雄一  Yuichi Kaneko
>> 〒330-0854
>> 埼玉県さいたま市大宮区桜木町2-7-4
>> プラスサムビル
>> Tel: 048-650-9777 Fax: 048-650-9778
>> E-mail : [E-MAIL ADDRESS DELETED]
>> http://www.plus-sum.co.jp/
>> ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


Seasar-user メーリングリストの案内