Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Pembulatan nilai dalam kolom varchar di MS SQL Server 2012?

Contoh pilih untuk memeriksa nilai yang diusulkan:

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

Perbarui pernyataan ..

Termasuk penanganan nilai nol (yaitu membiarkannya tidak tersentuh)

Termasuk penanganan nilai ilmiah dengan notasi E dalam nilai string sumber. misalnya 6.6699999999999995E-2

Termasuk menghilangkan angka nol di sisi kanan angka

Fungsi Format digunakan.

Fungsi STR dengan float meninggalkan angka nol, jadi saya tidak menggunakannya.

Fungsi Konversi dengan float ke string menentukan jumlah tempat desimalnya sendiri, jadi saya ingin menghindarinya juga!

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

Harap perhatikan bahwa 0 dalam penentu format memiliki arti tertentu.

Silakan lihat:

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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Butuh bantuan dengan pernyataan Gabung

  2. Gunakan Sertifikat SQL dari database lain

  3. SQL Server 2012 String acak dari daftar

  4. Konversikan data baris ke kolom di SQL Server

  5. Cara Mencadangkan Database SQL Server menggunakan T-SQL