SQLServerで数値型に変換できるかチェックするには、ISNUMERIC関数を使用します。
構文
- (ISNUMERIC構文)
- ISNUMERIC(<値>)
戻り値は1または0です。
※以下のいずれかに変換できる値であれば1(変換可)を返します
bigint、int、smallint、tinyint、bit
decimal、numeric、float、real、money、smallmoney
戻り値 | 意味 |
---|---|
1 | 数値型に変換可 |
0 | 数値型に変換できない |
サンプル
例)ISNUMERIC関数で変換可として判定されるサンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
select ISNUMERIC('123') ⇒1 select ISNUMERIC('1.234') ⇒1 select ISNUMERIC('-1.234') ⇒1 select ISNUMERIC('.123') ⇒1 select ISNUMERIC('1,234,567') ⇒1 select ISNUMERIC('$123') ⇒1 select ISNUMERIC('\123') ⇒1 |
例)ISNUMERIC関数で変換不可として判定されるサンプル
1 2 3 4 5 6 7 8 9 10 11 |
select ISNUMERIC('abc') ⇒0 select ISNUMERIC('123') ⇒0 select ISNUMERIC('') ⇒0 select ISNUMERIC(null) ⇒0 |
備考
- 注意点として、以下の値も変換可能として判定されます。
'$'、'\'、'+'、'-'