SQL选择一个十进制列并将其转换为带有前导零的int

时间:2016-12-05 22:28:52

标签: sql sql-server

我正在尝试选择一个十进制列,并让它显示没有小数和前导零。 该列定义为vendor_cost(decimal(9,2),null

select vendor_cost from inventory_vendors

结果是vendor_cost = 1.10 我希望结果显示为vendor_cost = 000000110

2 个答案:

答案 0 :(得分:1)

好吧,你可以乘以10并添加前导零:

select left(replicate('0', 10) + cast(cast(vendor_cost * 100 as int) as varchar(255)), 10)

或者,使用str()并用零替换前导空格:

select replace(str(vendor_cost * 100, 10, 0), ' ', '0')

答案 1 :(得分:0)

另一个选项是Format()2012 +

Select format(vendor_cost *100,'000000000')

返回

000000110

我应该注意Format()有一些很棒的功能,但它的性能并不知道