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

T-SQL で文字列をデフォルト値または NULL の整数に安全にキャストする方法

Patricia Arquette
リリース: 2024-12-30 01:51:10
オリジナル
165 人が閲覧しました

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

TSQL: デフォルト値または NULL を使用して文字列を整数にキャストする

文字列を整数にキャストすることは、T-SQL の一般的なタスクです。ただし、変換できない場合はエラーが発生する場合があります。このような状況に対処するために、T-SQL は、変換が失敗した場合にデフォルト値または NULL を返すことができる便利なアプローチを提供します。

解決策

解決策には、次の使用が含まれます。 ISNUMERIC() 関数を使用して、文字列を整数に変換できるかどうかを確認します。変換が可能な場合は、CAST() 関数を使用して文字列を整数に変換します。それ以外の場合は、デフォルト値または NULL が返されます。

次のコード スニペットは、このアプローチを示しています。

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」は変換できるため、最初の SELECT ステートメントは 100 を返します。整数に。 「XXX」は整数に変換できないため、2 番目の SELECT ステートメントは NULL を返します。

考慮事項

ISNUMERIC() 関数にはいくつかの制限があることに注意することが重要です。 Fedor Hajdu が指摘したように、$ (通貨)、, (区切り文字)、- などの特定の文字を含む文字列に対して true を返す場合があります。したがって、整数変換の入力を検証する場合は、慎重に ISNUMERIC() を使用することをお勧めします。

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

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