差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| database:sqlserver:hex_is_numeric [2009/09/08 14:36] – j ともやん | database:sqlserver:hex_is_numeric [2019/05/18 02:23] (現在) – 外部編集 非ログインユーザー | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ====== ISNUMERIC関数は16進文字列を正しくチェックできない場合がある ====== | + | ====== ISNUMERIC関数は16進文字列を数値と見なす場合がある ====== |
| - | < | + | ' |
| + | < | ||
| DECLARE @HexVal VARCHAR(4) | DECLARE @HexVal VARCHAR(4) | ||
| SET @HexVal = ' | SET @HexVal = ' | ||
| 行 18: | 行 19: | ||
| varchar の値 ' | varchar の値 ' | ||
| </ | </ | ||
| + | ' | ||
| + | <code tsql> | ||
| + | DECLARE @HexVal VARCHAR(4) | ||
| + | SET @HexVal = ' | ||
| + | |||
| + | IF ISNUMERIC(@HexVal) = 1 | ||
| + | BEGIN | ||
| + | SELECT CAST(@HexVal AS INT) | ||
| + | END | ||
| + | ELSE | ||
| + | BEGIN | ||
| + | PRINT ' | ||
| + | END | ||
| + | </ | ||
| + | 実行結果: | ||
| + | < | ||
| + | 数値以外です。(E234) | ||
| + | </ | ||
| + | \\ | ||
| + | | ||
| + | <code tsql> | ||
| + | DECLARE @HexVal VARCHAR(4) | ||
| + | SET @HexVal = ' | ||
| + | |||
| + | IF CASE WHEN @HexVal LIKE' | ||
| + | BEGIN | ||
| + | SELECT CAST(@HexVal AS INT) | ||
| + | END | ||
| + | ELSE | ||
| + | BEGIN | ||
| + | PRINT ' | ||
| + | END | ||
| + | </ | ||
| + | 実行結果: | ||
| + | < | ||
| + | 数値以外です。(1E34) | ||
| + | </ | ||
| + | |||