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

Вземете броя на цифрите след десетичната запетая на float (със или без десетична част)

Можете да го направите в следното:

ЗАПИТВАНЕ

SELECT Amount, 
       CASE WHEN FLOOR(Amount) <> CEILING(Amount) THEN LEN(CONVERT(INT,CONVERT(FLOAT,REVERSE(CONVERT(VARCHAR(50), Amount, 128))))) ELSE 0 END AS Result
FROM YourTable

ИЗХОД

Amount      Result
123         0
123,1       1
123,0123    4
123,789456  6


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразуване на резултатите от Select в скрипт за вмъкване - SQL Server

  2. Рекурсивна заявка в SQL Server

  3. Филтриране по опции OFFSET-FETCH в заявка за избор - SQL Server / TSQL урок, част 118

  4. Как да намеря текущото ниво на транзакция?

  5. Заявката изтече от уеб приложението, но работи добре от студиото за управление