2
我想在查詢的where子句中使用CAST()函數。基本上我在TableA中有一個類型爲Decimal(10,0)的FieldA,而TableB中的TypeB類型爲CHAR,我想在Fields A和B相同的條件下加入兩個表。在where子句中使用Cast()函數 - T-SQL
我已經嘗試了簡單
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,試圖環顧相似的問題,但看不到與我的問題相匹配的答案。
任何人有想法?謝謝
我從來沒有看到錯誤消息之前,但我只能猜測1)它是從一個非英語語言的翻譯和2)你有它需要一個小數點的逗號反之亦然FieldB –
你可以在這裏粘貼精確的錯誤按摩嗎? (即使它不是英文)也包括所有可能存在的數字。 –
由於性能方面的原因,您的方法不具有可擴展性。最好有一個包含存儲在數據庫中的「CAST」值的附加列。 一般來說,儘量避免在'JOIN's和'WHERE'子句中使用函數。 – SchmitzIT