在sql server 2008中将varchar转换为十进制

在sql server 2008中将varchar转换为十进制,sql,sql-server,tsql,sql-server-2008,Sql,Sql Server,Tsql,Sql Server 2008,我的数据是varchar'00072330'。如何将其转换为SQL Server 2008中类似于“723.30”的十进制数?尝试以下操作: declare @data as varchar(8) set @data = '00072330' print cast(@data as decimal) / 100 这: …将为您提供: 723.30万 .0很重要,否则SQL Server将执行整数运算。.0是必需的,因为您强制转换为int;强制转换为十进制并不需要它是的,但是当您强制转换为十进制

我的数据是varchar'00072330'。如何将其转换为SQL Server 2008中类似于“723.30”的十进制数?

尝试以下操作:

declare @data as varchar(8)
set @data = '00072330'
print cast(@data as decimal) / 100
这:

…将为您提供:

723.30万


.0很重要,否则SQL Server将执行整数运算。

.0是必需的,因为您强制转换为int;强制转换为十进制并不需要它是的,但是当您强制转换为十进制时,为什么不更加明确呢?如果你知道你被限制在8个字符(小数点后两位)之内,我宁愿看到十进制(8,2),而不仅仅是十进制。我认为转换的意义在于精度不一致。但是,您在设置强制转换/转换的精度方面做得很好。我的SQL Server数据类型仍然没有跟上速度。
SELECT CAST('00072330' AS INT)/100.0