[前][次][番号順一覧][スレッド一覧]

mysql:6843

From: "3web" <"3web" <dvh52252@xxxxxxxxxx>>
Date: Sun, 12 Jan 2003 18:00:14 +0900
Subject: [mysql 06843] Re: 数字以外の文字を含む範囲検索

いつも読んでばかりのmasahikoと言います。

> 例えば商品番号というものがあり、範囲でもってひとつの商品としています。
> 具体的には、hin_fr 、hin_to 、hin_name というフィールドで、順に、
>
> 1234      1240       AAAA

ちょっと変な感じがします。
1234から1240までの商品はAAAAである。
と言うことを一つのレコードで表現する・・・のは。

ひょっとすると色違い、サイズ違いの商品があってもそれらは同じ商品としてくくっ
ている、ということなのかなあ。

でもサイズとか何らかの違いを示すデータはないんでしょうか。

データそのものがよく判らないです。

>
> 「1234から1240の商品番号は、AAAA という商品名である」
> ということになります。つまり、商品名の検索機能があったとして、
> 「1238」と入力し検索すると、「AAAA]という商品名を拾わないといけませ
ん。
> 単純に、範囲検索を行えばいいのですが、
> 商品番号がすべて数字だった場合、それで問題ないのですが、
> 商品番号には英字やカナが入っている場合があります。
>
> DD9900      DD9950      BBBB
>
> といったような商品番号の場合、商品検索で「DD9931」と入力した場合、
> やはり「BBBB」を拾わないといけません。
>

この場合、たとえばDD9900からDD9950の場合、DD99の前の部分は共通である、という
ことですか?
つまり、仮にDD98という文字列を前に持っている場合、それは明らかに違う商品であ
る。
という約束事になっているのでしょうか。
なんらかの、一目して識別できるルールがあると思いますが。

> 数字だけ範囲検索するように、

うーん、数字だけといっても、これ文字列ですよ。ひとつのフィールドには分解でき
ない要素をいれるのが基本のような。
設計の段階で例外を持たせる場合もあるでしょうけど、はっきりした目的があれば。

>
> SELECT hin_name FROM tbl_hin WHERE hin_fr >= DD9931 AND hin_to <= DD9931
>
> とした場合、意図した検索結果にならない場合があるようです。
>
>
> 商品番号に数字以外が入っているので、商品番号のフィールド型は
> varchar でもたせています。



初めの部分で、共通の文字列をその商品に設定していれば、仮に
DD9900      DD9950
上記でDD99が共通の約束事であれば
SELECT hin_name FROM tbl_hin WHERE hin_fr like 'DD99%'
これでOKだと思います。

うーん、しかし・・・検索時点でDD99ということは・・・・後方2文字を無視して検
索することになるか。
こうなるとDD9900、DD9950というデータを持つ意味無いですね。
ひとつのカラムで、DD99を持てばいいことになるし。

結局詳細がわからないと、こんな感じですけど。



[前][次][番号順一覧][スレッド一覧]

      6842 2003-01-12 17:30 [Koji Yamamoto <yamam] 数字以外の文字を含む範囲検索            
->    6843 2003-01-12 18:00 ┣["3web" <dvh52252@xxx]                                       
      6845 2003-01-12 18:31 ┃┗[Koji Yamamoto <yamam]                                     
      6846 2003-01-12 19:37 ┃ ┣["3web" <dvh52252@xxx]                                   
      6852 2003-01-13 14:23 ┃ ┗[Hiromi Kurita <youji]                                   
      6844 2003-01-12 18:20 ┣[Shinya Kawaji <kawaj]                                       
      6853 2003-01-13 23:35 ┃┗[Koji Yamamoto <yamam]                                     
      6855 2003-01-14 02:03 ┃ ┗[とみたまさひろ <tomm]                                   
      6851 2003-01-13 13:31 ┗["3web" <dvh52252@xxx]                                       
      6854 2003-01-13 23:49  ┗[Koji Yamamoto <yamam]