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

SQLでvarcharをintに変換できない場合の失敗を見つけるにはどうすればよいですか?

    正規表現を使用して、適切に変換されないフィールドを判別できます。

    SELECT * 
    FROM example 
    WHERE xyz LIKE '%[^0-9]%'
    

    返されるレコードは、テーブルを変更したときに正しくキャストされないレコードです。 varcharフィールドに格納されている小数もintにキャストされません。

    検討してください:

    select CAST('1.1' as int) -これはエラーを返します。

    頑張ってください。



    1. ORA-06508:PL / SQL:呼び出されているプログラム・ユニットが見つかりませんでした

    2. Ansible経由のAirflow1.10.0

    3. DATEDIFF()はSQL Serverで間違った結果を返しますか?これを読む。

    4. 列のエイリアス名としてSQLキーワードを使用する