我正在尝试在查询的where子句中使用CAST()函数。基本上我在TableA中有一个FieldA,它被输入为Decimal(10,0),而TableB中的FieldB被输入为CHAR,我想在字段A和B相同的条件下连接这两个表。 / p>
我尝试过一个简单的
select FieldA , FieldB from tableA left join tableB
on cast(FieldB as decimal(10,0))= FieldA
但它返回错误
编辑这是法语翻译不好,正确的翻译似乎是未在CAST条款中承认的字符
投射规范的无效字符值
(thx Alex 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,试图寻找类似的问题,但看不到与我的问题相符的答案。
有人有想法吗?谢谢
答案 0 :(得分:0)
好的,多亏了我的理解,我试图以十进制方式投射的一些字段不是数字 - 我只是将其作为字符串将十进制字段转换为字符,这样做。
感谢您的帮助