「比較演算子」の編集履歴(バックアップ)一覧はこちら

比較演算子」(2008/06/10 (火) 18:27:30) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

[[HOME]] > 関数 > [[各データ型共通の演算子]] > [[比較演算子]] *比較演算子 >= 等しい mysql> SELECT 1 = 0; -> 0 mysql> SELECT '0' = 0; -> 1 mysql> SELECT '0.0' = 0; -> 1 mysql> SELECT '0.01' = 0; -> 0 mysql> SELECT '.01' = 0.01; -> 1 ><> , != 等しくない mysql> SELECT '.01' <> '0.01'; -> 1 mysql> SELECT .01 <> '0.01'; -> 0 mysql> SELECT 'zapp' <> 'zappp'; -> 1 ><= より小さいか等しい mysql> SELECT 0.1 <= 2; -> 1 >< より小さい mysql> SELECT 2 < 2; -> 0 >&html(>=) より大きいか等しい mysql> SELECT 2 >= 2; -> 1 >&html(>) より大きい mysql> SELECT 2 > 2; -> 0 ><=> 等しい(NULL 対応) mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL; -> 1 1 0 >IS NULL , IS NOT NULL 値が NULL であるかないかのテスト mysql> SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL; -> 0 0 1 mysql> SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL; -> 1 1 0 他のプログラムに対して適切に動作するように、MySQL では、IS NULL の使用時において次の追加機能をサポートしている。 直前に挿入されたレコードの検索 SELECT * FROM tbl_name WHERE auto_col IS NULL これを無効化するには、SQL_AUTO_IS_NULL=0 を設定する。 NOT NULL DATE 型と DATETIME 型のカラムでの、特殊な日付 0000-00-00 の検索 SELECT * FROM tbl_name WHERE date_column IS NULL これは、一部の ODBC アプリケーションで必要になる(ODBC では 0000-00-00 日付をサポートしていないため)。 >expr BETWEEN min AND max expr が min 以上で、max 以下の場合は 1 を返す。それ以外の場合は、0 を返す。すべての引数が同じ型の場合、これは式 (min <= expr AND expr <= max) と同じ。引数の型が異なる場合、前述の規則にもとづいて型変換が実行される。この場合、型変換は 3 つすべての引数に適用される。注意: 4.0.5 より前のバージョンでは、引数は expr の型に変換されていた。 mysql> SELECT 1 BETWEEN 2 AND 3; -> 0 mysql> SELECT 'b' BETWEEN 'a' AND 'c'; -> 1 mysql> SELECT 2 BETWEEN 2 AND '3'; -> 1 mysql> SELECT 2 BETWEEN 2 AND 'x-3'; -> 0 >expr IN (value,...) expr が IN リストのいずれかの値のときは 1 を返す。それ以外の場合は 0 を返す。すべての値が定数なら、値はすべて expr の型に基づいて評価され、ソートされる。その後、バイナリ検索によってアイテムが検索される。したがって、IN の値リストが定数だけで構成されている場合、IN は非常に迅速に行われる。expr がケース依存の文字列式の場合、文字列の比較はケース依存方式で行われる。 mysql> SELECT 2 IN (0,3,5,'wefwf'); -> 0 mysql> SELECT 'wefwf' IN (0,3,5,'wefwf'); -> 1 IN リストの値の数は、max_allowed_packet 値のみによって制限される。 4.1 以降(SQL-99 標準に準拠するため)、IN では、左側の式が NULL の場合だけでなく、リストに一致するものが見つからず、リスト内の式の 1 つが NULL の場合にも NULL が返る。 MySQL バージョン 4.1 以降では、IN() 節にサブクエリを組み込むこともできる。 >ISNULL(expr) expr が NULL の場合は 1 を返す。それ以外の場合は 0 を返す。 mysql> SELECT ISNULL(1+1); -> 0 mysql> SELECT ISNULL(1/0); -> 1 注意: = を使用した NULL 値の比較は常に false になる。 >COALESCE(list) リスト内の最初の非 NULL 要素を返す。 mysql> SELECT COALESCE(NULL,1); -> 1 mysql> SELECT COALESCE(NULL,NULL,NULL); -> NULL >INTERVAL(N,N1,N2,N3,...) N < N1 の場合は 0、N < N2 の場合は 1(以下同様)というように値を返す。N が NULL の場合は -1 を返す。引数はすべて整数として扱われる。この関数で N1 < N2 < N3 < ... < Nn を正しく動作させるには、引数を整数として扱う必要がある。これはバイナリ検索(非常に迅速)が使用されるからである。 mysql> SELECT INTERVAL(23, 1, 15, 17, 30, 44, 200); -> 3 mysql> SELECT INTERVAL(10, 1, 10, 100, 1000); -> 2 mysql> SELECT INTERVAL(22, 23, 30, 44, 200); -> 0 #javascript(){ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-4617913-1"; urchinTracker(); </script> }
[[HOME]] > 関数 > [[各データ型共通の演算子]] > [[比較演算子]] *比較演算子 >= 等しい mysql> SELECT 1 = 0; -> 0 mysql> SELECT '0' = 0; -> 1 mysql> SELECT '0.0' = 0; -> 1 mysql> SELECT '0.01' = 0; -> 0 mysql> SELECT '.01' = 0.01; -> 1 ><> , != 等しくない mysql> SELECT '.01' <> '0.01'; -> 1 mysql> SELECT .01 <> '0.01'; -> 0 mysql> SELECT 'zapp' <> 'zappp'; -> 1 ><= より小さいか等しい mysql> SELECT 0.1 <= 2; -> 1 >< より小さい mysql> SELECT 2 < 2; -> 0 >&html(>=) より大きいか等しい mysql> SELECT 2 >= 2; -> 1 >&html(>) より大きい mysql> SELECT 2 > 2; -> 0 ><=> 等しい(NULL 対応) mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL; -> 1 1 0 >IS NULL , IS NOT NULL 値が NULL であるかないかのテスト mysql> SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL; -> 0 0 1 mysql> SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL; -> 1 1 0 他のプログラムに対して適切に動作するように、MySQL では、IS NULL の使用時において次の追加機能をサポートしている。 直前に挿入されたレコードの検索 SELECT * FROM tbl_name WHERE auto_col IS NULL これを無効化するには、SQL_AUTO_IS_NULL=0 を設定する。 NOT NULL DATE 型と DATETIME 型のカラムでの、特殊な日付 0000-00-00 の検索 SELECT * FROM tbl_name WHERE date_column IS NULL これは、一部の ODBC アプリケーションで必要になる(ODBC では 0000-00-00 日付をサポートしていないため)。 >expr BETWEEN min AND max expr が min 以上で、max 以下の場合は 1 を返す。それ以外の場合は、0 を返す。すべての引数が同じ型の場合、これは式 (min <= expr AND expr <= max) と同じ。引数の型が異なる場合、前述の規則にもとづいて型変換が実行される。この場合、型変換は 3 つすべての引数に適用される。注意: 4.0.5 より前のバージョンでは、引数は expr の型に変換されていた。 mysql> SELECT 1 BETWEEN 2 AND 3; -> 0 mysql> SELECT 'b' BETWEEN 'a' AND 'c'; -> 1 mysql> SELECT 2 BETWEEN 2 AND '3'; -> 1 mysql> SELECT 2 BETWEEN 2 AND 'x-3'; -> 0 >expr IN (value,...) expr が IN リストのいずれかの値のときは 1 を返す。それ以外の場合は 0 を返す。すべての値が定数なら、値はすべて expr の型に基づいて評価され、ソートされる。その後、バイナリ検索によってアイテムが検索される。したがって、IN の値リストが定数だけで構成されている場合、IN は非常に迅速に行われる。expr がケース依存の文字列式の場合、文字列の比較はケース依存方式で行われる。 mysql> SELECT 2 IN (0,3,5,'wefwf'); -> 0 mysql> SELECT 'wefwf' IN (0,3,5,'wefwf'); -> 1 IN リストの値の数は、max_allowed_packet 値のみによって制限される。 4.1 以降(SQL-99 標準に準拠するため)、IN では、左側の式が NULL の場合だけでなく、リストに一致するものが見つからず、リスト内の式の 1 つが NULL の場合にも NULL が返る。 MySQL バージョン 4.1 以降では、IN() 節にサブクエリを組み込むこともできる。 >ISNULL(expr) expr が NULL の場合は 1 を返す。それ以外の場合は 0 を返す。 mysql> SELECT ISNULL(1+1); -> 0 mysql> SELECT ISNULL(1/0); -> 1 注意: = を使用した NULL 値の比較は常に false になる。 >COALESCE(list) リスト内の最初の非 NULL 要素を返す。 mysql> SELECT COALESCE(NULL,1); -> 1 mysql> SELECT COALESCE(NULL,NULL,NULL); -> NULL >INTERVAL(N,N1,N2,N3,...) N < N1 の場合は 0、N < N2 の場合は 1(以下同様)というように値を返す。N が NULL の場合は -1 を返す。引数はすべて整数として扱われる。この関数で N1 < N2 < N3 < ... < Nn を正しく動作させるには、引数を整数として扱う必要がある。これはバイナリ検索(非常に迅速)が使用されるからである。 mysql> SELECT INTERVAL(23, 1, 15, 17, 30, 44, 200); -> 3 mysql> SELECT INTERVAL(10, 1, 10, 100, 1000); -> 2 mysql> SELECT INTERVAL(22, 23, 30, 44, 200); -> 0 #javascript(){ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-4617913-1"; urchinTracker(); </script> }

表示オプション

横に並べて表示:
変化行の前後のみ表示:
記事メニュー
人気記事ランキング
目安箱バナー