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

MS SQL Server 2012 の varchar 列の値の丸め?

    提案された値を確認するために選択する例:

    select 
          case when ISNULL([Call Length], '') = '' 
          then '' 
          else 
     FORMAT(Cast ( CONVERT(numeric(16,4), CAST([Call Length] AS FLOAT)) as float),'########0.####')   
          end as    val123
        from Clinical.AAAJFJunk
    

    声明を更新..

    null 値の処理を含む (つまり、そのままにしておく)

    ソース文字列値に E 表記を使用した科学的値の処理が含まれます。例えば6.6699999999999995E-2

    数値の右側にある末尾のゼロの削除を含む

    Format 関数を使用します。

    float を使用した STR 関数は末尾のゼロを残すため、使用しませんでした。

    float から文字列への Convert 関数は、独自の小数点以下の桁数を決定するので、それも避けたいと思いました!

    UPDATE Clinical.AAAJFJunk
    SET [Call Length] =
          case when ISNULL([Call Length], '') = '' 
          then '' else 
                FORMAT(Cast ( CONVERT(numeric(16,4), CAST([Call Length] AS FLOAT)) as float),'########0.####')   end
    

    フォーマット指定子の 0 には特定の意味があることに注意してください。

    ご覧ください:

    https://docs.microsoft .com/en-us/dotnet/standard/base-types/custom-numeric-format-strings




    1. 自分自身を再帰的に呼び出すmysqlストアドプロシージャ

    2. SQLServerのログイン前ハンドシェイク確認エラー

    3. MySQLの日付形式DD/MM / YYYYクエリを選択しますか?

    4. 追加された複数のエンティティは、データベースシードに同じ主キーを持っている可能性があります