sql >> データベース >  >> RDS >> Sqlserver

TRY_CAST()がSQLServerでどのように機能するか

    SQL Serverでよく使用される関数は、CAST()です。 、あるデータ型の式を別のデータ型に変換します。ただし、キャストが成功しない場合は、エラーが返されます。

    TRY_CAST()と入力します 。

    TRY_CAST() キャストが失敗しても、関数はエラーを返しません。代わりに、NULLを返します 。

    ただし、エラーが返される場合があります。

    構文

    構文は次のようになります:

    TRY_CAST ( expression AS data_type [ ( length ) ] )

    expressionの場所 変換する式、data_type は新しいデータ型であり、length 新しいデータ型のオプションの長さです。

    例1-キャストの成功

    文字列をdecimalとしてキャストする例を次に示します。 :

    SELECT TRY_CAST('007' AS DECIMAL(5,2));

    結果:

    7.00

    この場合、キャストは成功しました。

    例2–キャストが失敗してNULLを返す

    キャストが失敗し、NULLの例を次に示します。 返される:

    SELECT TRY_CAST('Double Oh Seven!' AS DECIMAL(5,2));

    結果:

    NULL

    キャストが失敗したため、NULL 返されました。

    比較として、CAST()を使用すると次のようになります。 TRY_CAST()の代わりに :

    SELECT CAST('Double Oh Seven!' AS DECIMAL(5,2));

    結果:

    Msg 8114, Level 16, State 5, Line 1
    Error converting data type varchar to numeric.

    例3–キャストが失敗してエラーを返す

    TRY_CAST()が発生する場合があります エラーを返します。

    キャストが明示的に許可されていない場合は、エラーが返されます:

    SELECT TRY_CAST(10 AS xml);

    結果:

    Msg 529, Level 16, State 2, Line 1
    Explicit conversion from data type int to xml is not allowed.

    詳細情報

    CAST()の方法をご覧ください その他の変換例についてはSQLServerで動作し、CAST() vs TRY_CAST() CAST()を比較するためのSQLServer およびTRY_CAST()

    CAST()についてはMicrosoftのドキュメントを参照してください およびCONVERT() 詳細については、(そのほとんどはTRY_CAST()にも適用されます。 。


    1. SQL Server(T-SQL)でデータベースメールプロファイルを削除する

    2. ストップワードリストが空であってもストップワードが含まれている場合、全文検索は機能しません

    3. バッファキャッシュ:それは何であり、データベースのパフォーマンスにどのように影響しますか?

    4. グループごとに最初の行を選択する