ホームページ > データベース > mysql チュートリアル > T-SQL で NVARCHAR 文字列を整数に安全にキャストし、変換エラーを処理する方法

T-SQL で NVARCHAR 文字列を整数に安全にキャストし、変換エラーを処理する方法

Linda Hamilton
リリース: 2024-12-31 02:05:09
オリジナル
422 人が閲覧しました

How to Safely Cast NVARCHAR Strings to Integers in T-SQL and Handle Conversion Errors?

文字列を整数にキャストし、変換エラーを処理する

T-SQL では、nvarchar データ型を変換する必要があるシナリオに遭遇することがあります。整数に変換しますが、変換が失敗した場合も処理します。これを実現する 1 つの方法は、CAST 関数と ISNUMERIC() 関数を組み合わせることです。

デフォルト値による変換

nvarchar 文字列を文字列にキャストするには整数を返し、変換が失敗した場合はデフォルト値を返すため、CASE ステートメントを次のように使用できます。

SELECT CASE WHEN ISNUMERIC(@text) = 1 THEN CAST(@text AS INT) ELSE <default value> END
ログイン後にコピー

この式では:

  • @text は変換される nvarchar 変数です。
  • ISNUMERIC(@text) = 1 は、文字列は整数に変換できます。
  • 変換が成功すると、CAST 関数は @text を次のように変換します。整数。
  • 変換が失敗した場合は、代わりに指定されたデフォルト値が返されます。

次の例を考えてみましょう:

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 が返されます。 2 番目のケースでは、文字列「XXX」は変換できず、デフォルト値として NULL が返されます。

ISNUMERIC() の制限事項の処理

次のことに注意してください。 ISNUMERIC() は、通貨記号、小数点、または記号を含む文字列など、有効な整数ではない一部の文字列に対して true を返す場合があります。 /- 兆候。したがって、文字列をキャストする前に、より徹底的に検証することをお勧めします。

以上がT-SQL で NVARCHAR 文字列を整数に安全にキャストし、変換エラーを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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