SQL将float转换为varchar

时间:2013-11-13 14:51:49

标签: sql sql-server sql-server-2008

我有2列我想要使用条件。但我收到此错误消息,我的查询是正确的,我很快就会来。

  

Msg 8114,Level 16,State 5,Line 1
  将数据类型varchar转换为float时出错。

所以这就是问题,我有一个临时表,其中ID号看起来像这个9001011234我们可以称之为A,在另一个我想用它查看它看起来像这个900101-1234和这一个对于B,这是Id-numbers的瑞典格式。

所以在我的情况下,我想检查一下,以获得正确的金额和正确的结果。

where A = B

查询的其余部分没问题,当我删除这个条件时它会给我一个结果。只是这一点是不正确的。

3 个答案:

答案 0 :(得分:5)

您的VARCHAR格式无法轻易转换为数字。我使用REPLACE(b,'-','') = a来修复格式,然后让SQL Server处理剩下的事情。

答案 1 :(得分:2)

说:

where A = CAST(REPLACE(B, '-', '') AS float)

答案 2 :(得分:-2)

您正在尝试比较不同数据类型的值。例如,'one'= 1

您需要将其中一个值转换为与另一个相同的数据类型。