Это проблема презентации, и поэтому она должна решаться на уровне презентации.C # имеет очень простые способы форматирования вывода, но, как вы написали в своем вопросе, вы хотели бы знать, как сделать это в T-SQL - так что здесь есть один вариант, используя cast
, charindex
и left
.
Сначала создайте и заполните образец таблицы ( Пожалуйста, сохраните этот шаг в своих будущих вопросах):
DECLARE @T AS TABLE
(
id int identity(1,1),
[Value] decimal (18,10),
[Decimal] int
)
INSERT INTO @T ([Value], [Decimal]) VALUES
(500.754254, 2),
(50.75636, 3),
(12345.7254, 1),
(1.424, 4)
Запрос:
SELECT ID,
Value,
[Decimal],
LEFT(CAST([Value] As varchar(18)), CHARINDEX('.', CAST([Value] As varchar(18))) + [Decimal]) As [Left]
FROM @T
Результаты:
ID Value Decimal Left
1 500,7542540000 2 500.75
2 50,7563600000 3 50.756
3 12345,7254000000 1 12345.7
4 1,4240000000 4 1.4240