ホームページ > データベース > mysql チュートリアル > T-SQL で文字列をデフォルト値を持つ整数に安全にキャストする方法

T-SQL で文字列をデフォルト値を持つ整数に安全にキャストする方法

DDD
リリース: 2025-01-03 01:05:39
オリジナル
733 人が閲覧しました

How to Safely Cast Strings to Integers with Default Values in T-SQL?

T-SQL でのデフォルト値を使用した整数への文字列のキャスト

T-SQL では、文字列 (nvarchar) をキャストする必要がよくあります。 ) 値を整数 (int) データ型に変換します。ただし、文字列に数字以外の文字が含まれている場合、この変換は失敗する可能性があります。このようなシナリオを適切に処理するには、変換が失敗した場合にデフォルト値または NULL を返す必要があります。

これを実現するには、CASE 式を ISNUMERIC() 関数と組み合わせて使用​​できます。 ISNUMERIC() は、文字列が有効な数値を表すかどうかを評価し、true の場合は 1、false の場合は 0 を返します。

構文:

CASE WHEN ISNUMERIC(@variable) = 1 THEN CAST(@variable AS INT) ELSE NULL END
ログイン後にコピー

例:

次の点を考慮してください例:

DECLARE @text AS NVARCHAR(10)

SET @text = '100'
SELECT CASE WHEN ISNUMERIC(@text) = 1 THEN CAST(@text AS INT) ELSE NULL END
-- returns 100

SET @text = 'XXX'
SELECT CASE WHEN ISNUMERIC(@text) = 1 THEN CAST(@text AS INT) ELSE NULL END
-- returns NULL
ログイン後にコピー

最初のケースでは、'100' が有効な整数であるため、変換は成功し、値 100 が返されます。 2 番目のケースでは、'XXX' は数値ではないため、 ISNUMERIC() 関数は 0 を返し、CASE 式が返されます。 NULL.

考慮事項:

ISNUMERIC() には特定の制限があることに注意してください。たとえば、通貨記号 ($)、区切り文字 (,) または (.)、および算術演算子 ( 、-) を含む文字列に対して true を返す場合があります。したがって、変換の整合性を保証するために追加の検証が必要になる場合があります。

以上がT-SQL で文字列をデフォルト値を持つ整数に安全にキャストする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート