2010年9月14日

[mysql 15396] Re: 文字列を返す関数で質問です

とみたです。

On Mon, 13 Sep 2010 10:59:40 +0900
こんにちは伊藤です <ito.takahiro.cp@xxxxx> wrote:

> > select * from テーブルA where col1 in ('111,222')

> もし上記の通り評価されていれば、結果は0レコードになります。

> 結果は「select * from テーブルA where col1 in (111)」または
> 「select * from テーブルA where col1 in ('111')」」の結果でした。

col1 が整数なので、'111,222' と比較する際、'111,222' を整数化した 111
と比較されるので真になるのです。

mysql> select 111 in ('111,222');
↑これは真(1)になり、

mysql> select '111' in ('111,222');
↑これは偽(0)になります。

--
とみたまさひろ <tommy@xxxxx>
日本MySQLユーザ会 http://www.mysql.gr.jp


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




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