After some research, I found 2 possible answers to my original question. They are listed below.
Option 1 Answer from Mitch Wheat is a possible answer. However, when we need to format the column value in SELECT, we would need to create a user-defined scalar function using the Mitch T-SQL code and call this UDF from our SQL.
-- ============================================= -- Description: Formats a number and truncates -- the decimal part. You can pass -- a number as a string or a numeric type. -- ============================================= CREATE FUNCTION dbo.Utility_fn_FormatNumberAndTruncateDecimals ( @unFormattedNumber VARCHAR(100) ) RETURNS VARCHAR(100) AS BEGIN DECLARE @val VARCHAR(100) SET @val = convert(VARCHAR(50), cast(@unFormattedNumber AS MONEY), 1) RETURN (SELECT left(@val, len(@val) - 3)) END GO --call this function using either of the SELECTS below SELECT dbo.Utility_fn_FormatNumberAndTruncateDecimals('233444') SELECT dbo.Utility_fn_FormatNumberAndTruncateDecimals(233444.345)
Option 2: We can use a built-in system function called "parseame", as in the T-SQL code below, to format and truncate decimal places.
SELECT PARSENAME(CONVERT(VARCHAR, CAST('2334442221.345222' AS MONEY), 1),2)
Sunil
source share