2017-03-07 3 views
1

MSSQLサーバーでデータをチェックして数値(2,0)形式であることを確認しようとしています。私は現在、以下の方法を使用していますが、数値関数を使用してデータベース内の既存のデータの構文をチェックする方法を知りたいと思います。助けのためのnumeric()関数を使用してSQLサーバーのデータ形式をチェックする

(Case when @variable is not NULL 
and @variable like '%.%' 
    and blahblah =blahblah 
    then 0 else 1 end) as @Variable, 

感謝を:私は使用しています

現在のコードまたはメソッド。

+0

使用しているSQL Serverのバージョンは? – asemprini87

+0

ISNUMERIC()関数を試してみましたか?現在2014 –

+0

を使用していますか? – asemprini87

答えて

1

なぜ数値関数を使用するのですか?これを行うための最善の方法(SQL Serverの2012+で利用可能)try_convert()を使用することです:

select (case when try_convert(numeric(2, 0), @variable)) is not null and 
        . . . 
      then 0 else 1 
     end) as <whatever> 

注:is not nullは、変換が成功したことを意味します。私はそれがあなたが本当に欲しいロジックであるかどうか分からない、おそらくあなたはis nullがほしいと思う。

+0

素晴らしいです。ありがとう!それは働いた –

関連する問題