首页 > 解决方案 > 如何修复 SQL 错误“将数据类型 varchar 转换为数字时出错”?

问题描述

我正在从 SQL Server 数据库中选择记录,但结果显示查询完成时出现错误,然后我得到的错误是

将数据类型 varchar 转换为数字时出错

在我的查询中,我根据特定代码获取记录,然后我使用=查询失败但使用<>查询运行。任何人都可以在我做错的地方帮助我,因为我寻找解决方案,只要它们不适合我。

我通过下面的查询分享

SELECT
    MAX(amount) AS amount, 
    MAX(date_of_payment) AS date_of_payment, 
    MAX(customer) AS customer, 
    MAX(payment_type) AS payment_type, 
    MAX(currency) AS currency, 
    MAX(PayCtrNum) AS PayCtrNum, 
    MAX(TRACKING_NO) AS TRACKING_NO, 
    MAX(Payment_id) AS Payment_id 
FROM 
    PAYMENTS_VW 
WHERE 
    date_of_payment = '21/01/2020' 
    AND account_code = '440342' 
GROUP BY 
    Payment_id

标签: sqlsql-server

解决方案


我使用了 CAST 并将列更改为 Int 它现在正在工作。查询现在读取

SELECT max(amount) as amount, 
max(date_of_payment) as date_of_payment, 
max(customer) as customer, 
max(payment_type) as payment_type, 
max(currency) as currency, 
max(PayCtrNum) as PayCtrNum, 
max(TRACKING_NO) as TRACKING_NO, 
max(Payment_id) as Payment_id 
FROM PAYMENTS_VW 
WHERE date_of_payment = '21/01/2020' 
AND CAST(account_code AS int) = '440342' 
GROUP BY Payment_id

它正在工作


推荐阅读