2010年9月14日

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

とみたさん、ありがとうございます。

> col1 が整数なので、'111,222' と比較する際、'111,222' を整数化した 111
> と比較されるので真になるのです。
[お返事]
これを理解していませんでした。
納得できてすっきりです。


On Tue, 14 Sep 2010 11:59:22 +0900
とみたまさひろ <tommy@xxxxx> 様から以下のようなメールをいただきました。。:

> とみたです。
>
> 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


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

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




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