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

mssqlはvarcharをfloatに変換します

    varcharsをfloatに変換でき、表現した方法で変換できます。 varcharは数値であってはなりません。その中に何か他のものがあるに違いありません。 IsNumericを使用してテストできます。これを参照してください:

    declare @thing varchar(100)
    
    select @thing = '122.332'
    
    --This returns 1 since it is numeric.
    select isnumeric(@thing)
    
    --This converts just fine.
    select convert(float,@thing)
    
    select @thing = '122.332.'
    
    --This returns 0 since it is not numeric.
    select isnumeric(@thing)
    
    --This convert throws.
    select convert(float,@thing)
    


    1. SQLServerデータベースのすべてのチェック制約を無効にする方法-SQLServer/TSQLチュートリアルパート87

    2. LIKEオペレーターによるMySQLインジェクション

    3. TSQLを使用してデータベース内のすべてのテーブルのリストを取得するにはどうすればよいですか?

    4. 1つのテーブルから選択し、別のテーブルに挿入します