Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Странно поведение на SQL Server Ceiling().

Мисля, че това се нарича плаваща точност. Можете да го намерите в почти всички езици за програмиране, както и в базата данни. Това е така, защото данните се съхраняват само с известна точност и всъщност това, което сте задали като 8.31 вероятно не е 8.31 но например 8.31631312381813 и когато го умножите и ceil, това може да доведе до появата на различна стойност.

На страница с документация за SQL сървър можете да прочетете:

В други системи за бази данни съществува същият проблем. Например на уебсайт на mysql можете да прочетете:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какъв е максималния брой колони, разрешени в SQL Server 2008 View?

  2. Как да стартирам генериран SQL от променлива?

  3. Изпълнение на таблична функция на множество редове?

  4. Как да създадете таблица с колона за идентичност

  5. Премахнете крайните интервали и актуализирайте в колони в SQL Server