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

varchar値'simple'をデータ型intに変換するときに変換に失敗しました

    このようなエラーを回避するには、CASEを使用できます。 + ISNUMERIC intに変換できないシナリオを処理するため。
    変更

    CONVERT(INT, CONVERT(VARCHAR(12), a.value))
    

    CONVERT(INT,
            CASE
            WHEN IsNumeric(CONVERT(VARCHAR(12), a.value)) = 1 THEN CONVERT(VARCHAR(12),a.value)
            ELSE 0 END) 
    

    基本的に、これは、私をintに変換できない場合は値0を割り当てます(私の例では)

    または、a.valueかどうかをチェックするカスタム関数の作成に関するこの記事をご覧ください。 番号です:http://www.tek-tips.com/faqs.cfm?fid =6423



    1. SQLでのトランザクションを理解する

    2. PostgreSQLでpgBouncerを使用するためのガイド

    3. SQL Server 2008ManagementStudioがクエリの構文をチェックしていません

    4. OracleのRTRIM()関数