Sql server oracle格式化==>to_char(12.222,'000000000009')将我的输出设置为0000000000 12。如何在TSQL中获得相同的格式?

Sql server oracle格式化==>to_char(12.222,'000000000009')将我的输出设置为0000000000 12。如何在TSQL中获得相同的格式?,sql-server,sql-server-2008,tsql,Sql Server,Sql Server 2008,Tsql,选择以_char12.222,dual中的“000000000009”将输出为0000000000 12 从dual中选择“000000000009”作为000000000001输出 从dual中选择“000000000009”作为0000000000 12输出 如何在TSQL中获得相同的格式 让我试着详细阐述一下。我希望数字在TSQL中的格式与在Oracle中的格式相同。比方说,如果我输入1,oracle查询会在1之前附加11个零。如果输入12.22,oracle查询会在12之前追加10个零。

选择以_char12.222,dual中的“000000000009”将输出为0000000000 12

从dual中选择“000000000009”作为000000000001输出

从dual中选择“000000000009”作为0000000000 12输出

如何在TSQL中获得相同的格式

让我试着详细阐述一下。我希望数字在TSQL中的格式与在Oracle中的格式相同。比方说,如果我输入1,oracle查询会在1之前附加11个零。如果输入12.22,oracle查询会在12之前追加10个零。请注意,小数不被考虑 类似地,如果输入123,则输出将在123之前追加9个零。

是否要这样做

oracle formatting ==> 
询问代码的问题必须证明对正在解决的问题的最低理解。包括尝试过的解决方案、它们不起作用的原因以及预期的结果。@user827596欢迎使用
DECLARE @i int=12
DECLARE @digit_number int =10
SELECT REPLICATE('0', @digit_number-LEN(cast(@i as varchar(50))))+cast(@i as varchar(50))