我想在利率的第一位和第二位之间放置一个小数,并在小数点后保留 2 个尾随。我该怎么做?
SELECT TOP 10 l.PARENTACCOUNT AS [Account Number]
, l.interestrate AS [Interest Rate]
FROM dbo.LOAN l
这是我目前的结果:
Account Number Interest Rate
0000000107 9900
0000000107 11900
0000002000 5750
0000002460 10300
0000002652 9900
0000003850 0
0000004942 7510
0000004942 4990
0000004942 5000
0000006652 6790
这是我想要的结果:
Account Number Interest Rate
0000000107 9.90
0000000107 1.19
0000002000 5.75
0000002460 1.03
0000002652 9.90
0000003850 0.00
0000004942 7.51
0000004942 4.99
0000004942 5.00
0000006652 6.79
编辑:我最终使用它来获得正确的利率
ISNULL(convert(decimal(4, 2), stuff(convert(varchar(255), interestrate), 2, 0, '.')), 0)
奇怪的格式;你不能处理低于1%的利率。
你可以做:
select convert(decimal(4, 2), stuff(convert(varchar(255), interestrate), 2, 0, '.'))
这会将值转换为数字,添加小数位,并转换为小数。
这是一个数据库<>小提琴。
假设利率是一个字符串。你可以试试:
SELECT CONVERT(real,CONCAT(LEFT([Interest rate],1),'.', RIGHT([Interest rate],LEN([Interest rate])-1))) FROM [Table]
您是否尝试除以 1000 :
SELECT TOP 10 l.PARENTACCOUNT AS [Account Number]
, (l.interestrate/1000) AS [Interest Rate] FROM dbo.LOAN l