sql >> Database teknologi >  >> RDS >> Sqlserver

Afrunding af en værdi i en varchar-kolonne i MS SQL Server 2012?

Eksempel vælg for at kontrollere foreslåede værdier:

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

Opdater erklæring ..

Inkluderer håndtering af nulværdi (dvs. lader dem være urørte)

Omfatter håndtering af videnskabelige værdier med E-notation i kildestrengværdier. for eksempel. 6.6699999999999995E-2

Inkluderer fjernelse af det efterfølgende nul på højre side af nummeret

Format-funktionen bruges.

STR-funktionen med en float efterlader bagende nuller, så det brugte jeg ikke.

Funktionen Konverter med en float til en streng bestemmer dets eget antal decimaler, så det ville jeg også undgå!

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

Bemærk venligst, at 0'et i formatspecifikationen har en specifik betydning.

Se venligst:

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




  1. Udfyldning af html-formularer med mysql-data ved hjælp af php coming up null

  2. Programmeringsfejl:ikke alle argumenter konverteres under strengformatering

  3. Kan ikke initialisere tegnsæt utf8mb4 med Windows mysql-python

  4. Er der en måde at få adgang til private plsql-procedurer til testformål?