2013-10-22 43 views
0

使用SQL Server。SQL匹配同一行中的值

我有一行包含用户USERID以及他们的Paypal帐号。有时候人们手动输入他们的USERID作为贝宝帐号。我需要做一个查询来查找所有使用userid = PaypalID的人。 PayPal id是一个varchar,而userid是一个int。

我已经尝试过

SELECT * 

    FROM [Users] WHERE userID = paypalid 

,我得到的错误 消息248,级别16,状态1,2号线 将varchar值 '530817015001' 的转换溢出int列。

回答

1

试试这个

SELECT * 

    FROM [Users] WHERE cast(userID as varchar) = cast(paypalid as varchar) 
1

必须将int转换为varchar

SELECT * 
FROM [Users] WHERE CAST(userID AS VARCHAR(50)) = paypalid