У меня есть требование, которое гласит, что оно должно быть округлено до двух знаков после запятой и должно содержать 8 цифр.
Output Example:
1234567.88 to 12345678 -- As format is only for 8 digit by removing decimal
123.45 to 00012345
748.55137 to 00074855
Для этого я сделал ниже способ, в котором FORMAT или LEFT не работает.
SELECT REPLACE(RIGHT('00000000'+LEFT(CAST(CAST( ROUND((((ISNULL(511.90,0)*(ISNULL(146.230,0)/100))),2) AS DECIMAL( 15,0)) AS VARCHAR( 15 )), 8 ), 8 ),'.','')
Expected Output: 00074855
Я сделал LEFT
, FORMAT(.., '00000.00')
, но, похоже, здесь ничего не работает в CASE.
Спасибо всем за входные данные.
Working Sample:
REPLACE(FORMAT(CAST(ROUND(((ISNULL(511.90,0) * (ISNULL(146.230,0)/100))),2) AS DECIMAL(10,2)),'000000.00'),'.','')