SQL Server 数値が含まれているかチェックしてデータを抽出する
SQL Server で、あるカラムの値が数値かどうかチェックするには、 ISNUMERIC を使います(この関数は SQL Server 2014 から)。 式が数値型として有効かどうかチェックする 例えば、このようなデータがあります。 この ProductCd 列で、数値の CD だけで構成されているものを抽出したい場合は、以下のような SQL になります。 SELECT * FROM Products WHERE ISNUMERIC(ProductCd) = 1 実行結果 逆に、数値ではないものを抽出したい場合、条件を = 0 とします。 なお、この「数値以外」ですが、プラス記号やマイナス記号、ドル記号など通貨記号も数字ではないと判断されます。 カラム毎に数値かどうかチェックして、数値かどうかで場合分けをしたい場合は、以下のような SQL になります SELECT CASE WHEN ISNUMERIC(ProductCd) = 1 THEN 'True' ELSE 'False' END AS 数値チェック FROM Products 実行結果