ガイド
SQL Serverでは、ISNUMERIC()
関数を使用して、式が数値であるかどうかを調べることができます。
この関数は、式が数値の場合は1を返し、そうでない場合は0を返します。
この関数を使用するには、呼び出し中に関数に値/式を渡すだけです。
例1–数値式
この関数に数値式を渡したときに何が起こるかを示す例を次に示します。
SELECT ISNUMERIC(250) AS Result;
:
+----------+| Result ||----------|| 1 |+----------+
この場合、値は数値で、結果は1です。
値が文字列(一重引用符で囲まれている)として提供されていても同じ結果が得られます。
SELECT ISNUMERIC('250') AS Result;
:
+----------+| Result ||----------|| 1 |+----------+
例2-数値以外の式
値が数値でない場合は次のようになります。
SELECT ISNUMERIC('Hey!') AS Result;
:
+----------+| Result ||----------|| 0 |+----------+
例3-データベースの例
データベースを照会するときにWHERE
句でISNUMERIC()
を使用する例を次に示します:
USE WideWorldImportersDW;SELECT COUNT(*) AS FROM Dimension.CustomerWHERE ISNUMERIC() = 1;
結果:
+---------+| Count ||---------|| 402 |+---------+
これは、数字の郵便番号を持つすべての行の数を返します。
予期しない結果? Non-NumericがNumeric
の場合、数値ではない場合でも、一部の文字は数値として扱われます。 これは、この関数を使用するときに注意する必要があるものです。
説明と例については、ISNUMERIC()
を使用したときに正を返す数値以外の文字を参照してください。
Leave a Reply