我有以下字段叫做 - 金额。它是小数(18,2)。
所以值为70.26
我想为文件输出创建的内容类似于 -
00000007026
如果它是一个varchar(11),前导零组成11个字符,如果上面的例子中只有4个,但我也想删除小数
答案 0 :(得分:1)
您可以尝试这样的事情:
SELECT RIGHT('00000000000' + REPLACE(CAST(Amount AS VARCHAR(11)),'.',''),11)
CAST
将数字转换为字符串,以便进一步操作。
REPLACE
删除小数点。
我添加了11个零,无论这里的数字是多少。但是只从RIGHT
中取出11个字符,就会得到你想要的东西。
这不适用于负数,因为零会在-
符号的左侧添加。
答案 1 :(得分:1)
declare @str varchar(11)
set @str='00000000000'
declare @p decimal(18,2)
set @p=70.80
select RIGHT(@str+replace(cast(@p as varchar),'.',''), 11 )