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

数値検証のチェック

    あなたの式は有効です。関数によって数値と見なされる値を取得していると思われますが、整数に変換することはできません。以下を試してください...

    declare @myfield varchar(20)
    set @myfield='.'
    if ISNUMERIC(@myfield)=1
    begin
        select CONVERT(int,@myField)
    end
    

    convert ステートメントは、報告されているエラーで爆発します...

    この質問をチェックしてください:T-sql -値は整数です

    整数に変換できない「数値」値の例

    select '1.e0',ISNUMERIC('1.e0') as IsNum  
    union
    select '.',ISNUMERIC('.') as IsNum  
    union
    select '12.31',ISNUMERIC('12.31') as IsNum  
    

    select convert(int,myField) を追加します begin/end で エラーの原因となった実際のフィールド値を確認する



    1. Oracleの「forループ」の反復ごとに200レコードを選択するにはどうすればよいですか?

    2. jQueryAJAXSuccessでMySqlから特定の応答を取得する

    3. MySQLホスト'::1'または'127.0.0.1'はこのMySQLサーバーへの接続を許可されていません

    4. DBCCCHECKCONSTRAINTSとI/Oを見てください