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

mysql:15393

From: こんにちは伊藤です <こんにちは伊藤です <ito.takahiro.cp@xxxxxxxxxx>>
Date: Fri, 10 Sep 2010 14:05:55 +0900
Subject: [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@xxxxxxxxxx
-------------------------------------------------


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

->   15393 2010-09-10 14:05 [こんにちは伊藤です <] 文字列を返す関数で質問です              
     15394 2010-09-12 21:44 ┗[とみたまさひろ <tomm]                                       
     15395 2010-09-13 10:59  ┗[こんにちは伊藤です <]                                     
     15396 2010-09-14 11:59   ┗[とみたまさひろ <tomm]                                   
     15397 2010-09-14 13:28    ┗[こんにちは伊藤です <]