回复 3# h99 我想了一下,你说的对,是我忽略了一个问题。SELECT * FROM TB_SVC_SUBS_HIST A LEFT OUTER JOIN DTL_BILL B on A.SUBS_ID=B.SUBS_ID WHERE rtrim(A.MSISDN) like '13400279142'是可以查出来结果的原因应该如下:A....
显示全部回复 3# h99 我想了一下,你说的对,是我忽略了一个问题。
SELECT *
FROM TB_SVC_SUBS_HIST A
LEFT OUTER JOIN
DTL_BILL B on A.SUBS_ID=B.SUBS_ID
WHERE rtrim(A.MSISDN) like '13400279142'
是可以查出来结果的
原因应该如下:
A.MSISDN是char(14)类型的数据,实际存储在数据库中的是11为数字,所以会有3个空格。用=去做条件查询的时候,会自动去掉多余的空格,而用like去做查询条件的时候,由于没有%或其他通配符,所以做精确匹配, '13400279142'和 '13400279142 '(数据库中实际存储的数据,后面有3个空格)是无法匹配的,所以查询结果为空。应该是这样的吧
收起