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

mysql:10181

From: UNO Shintaro <UNO Shintaro <uno@xxxxxxxxxx>>
Date: Thu, 16 Sep 2004 20:28:01 +0900
Subject: [mysql 10181] Re: replace()関数の処理

>何故上記クエリがtbl_repの全レコードを舐めてくれないのか、
>何故クエリを複数回実行しないと置換が完了しないのか、
>原因が分かりません。
>どなたか教えて下さい。

tbl_aの内容がこんなので、
id field_n
-- -------
1  ABAB
2  BCDE

tbl_repの内容がこんなので、
field_from field_to
---------- --------
A          a
B          b

山下さんが書かれたreplace〜select文を実行すると、
selectのところでできる結果セットはこうです。
id      ( join結果: id field_n field_from field_to )
-- ---- (           -- ------- ---------- -------- )
1  aBaB (           1  ABAB    A          a        )
1  AbAb (           1  ABAB    B          b        )
2  bCDE (           2  BCDE    B          b        )

これを使ってreplaceするのですから、置換結果はこんな感じ。
id field_n
-- -------
1  aBaB    ←Aの置き換えとBの置き換えを一発で合成はできない
2  bCDE

全レコードを見てはいるわけです。

-- 
UNO Shintaro, 宇野 信太郎
mailto:uno@xxxxxxxxxx
http://www.venus.dti.ne.jp/~uno/

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

     10172 2004-09-16 10:19 ["Takashi Yamashita" ] replace()関数の処理                     
     10173 2004-09-16 11:07 ┗["片寄白王" <katayose]                                       
     10174 2004-09-16 11:31  ┗["Takashi Yamashita" ]                                     
     10179 2004-09-16 18:06   ┣["片寄白王" <katayose]                                   
     10180 2004-09-16 19:21   ┗["Takashi Yamashita" ]                                   
->   10181 2004-09-16 20:28    ┗[UNO Shintaro <uno@xx]                                 
     10184 2004-09-16 21:53     ┗["Takashi Yamashita" ]                               
     10192 2004-09-17 12:18      ┗[UNO Shintaro <uno@xx]                             
     10193 2004-09-17 13:31       ┗["Takashi Yamashita" ]