2

我正在尝试在查询的 where 子句中使用 CAST() 函数。基本上,我在 TableA 中有一个 FieldA,类型为 Decimal(10,0),在 TableB 中有一个 FieldB,类型为 CHAR,我想在字段 A 和 B 相同的条件下加入这两个表。

我试过一个简单的

select FieldA , FieldB from tableA left join tableB 
on cast(FieldB as decimal(10,0))= FieldA

但它返回一个错误

CAST 子句中不允许的字符

编辑这是一个糟糕的法语翻译,正确的翻译似乎是

强制转换规范的无效字符值

(谢谢亚历克斯 K)

然后我尝试做类似的事情

select tableA.fieldA, tableC.fieldC
from tableA left join
(select cast(fieldB as decimal(10,0)) fieldC from tableB)
as tableC on fieldC=fieldA

但是我返回了同样的错误

我真的不是 SQL 专家,基本上只是在这里和那里使用一些 SELECT,试图四处寻找类似的问题,但找不到与我的问题相匹配的答案。

有人有想法吗?谢谢

4

1 回答 1

0

好的,感谢评论,我知道我尝试将其转换为十进制的某些字段不是数字的——我只是将十进制字段转换为字符,这是可行的。

谢谢你的帮助

于 2012-10-30T13:08:10.187 回答