2010年9月10日

[mysql 15393] 文字列を返す関数で質問です

いつも勉強させて頂いております。
文字列型を返す関数で、「ん?」と思われる現象です。
クエリで文字列を返す関数を使うと、リターンにカンマが入っている場合、カン
マの前しか取得されないようです。

getXX(
in_a int
)

return text
{
select xx into @answer from tbl where key_col = in_a;
return @answer;
}

[tbl]
key_col xx
1 111,222
2 333,444
[テーブルA]
col1 col2
111 val111
222 val222
333 val333
444 val444


って入ってると、
↓下記は正常
select getXX(1) ⇒ 111,222

↓これはNG
select * from テーブルA where col1 in (getXX(1))
⇒col1=111しか取得できない。col1=222もほしかった!

クエリ文中で使うとリターンにカンマがある場合、カンマの前しか返さないらし
い。リターンをvarcharやcharにしても同じでした。

-------------------------------------------------
伊藤崇洋
ito.takahiro.cp@xxxxx
-------------------------------------------------

投稿者 xml-rpc : 2010年9月10日 14:05
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/98282
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。