日期:2014-05-18  浏览次数:20390 次

++++++++ 关于字符串比较的难题:忽略非打印字符!++++++++
表T1(id,   detail1)
表T2(id,   detail2)

T1和T2通过id连接。

问题:
现在要比较detail1和detail2的不同,并且输出那行的id。
可以通过patindex函数比较,但问题是:   detail1和detail2用不同的ASCII表示回车换行,其中detail1用Chr(13)+Chr(10),detail2只用Chr(10)

所以比较结果就不准确了。现在我想在比较的时候忽略这些非打印字符。

不知道能否做到?



------解决方案--------------------
在比较函数中,把detail的Chr(13)+Chr(10)替换为chr(10)后再匹配。
------解决方案--------------------
??????-----Char(13) And Char(10) 吧
------是否这样??
Select
B.id ---通过ID关联那不还是那个ID,看不出来它是哪行包含了啊?
From
T1 A
Inner Join T2 B On A.id=B.id And
PatIndex( '% '+Replace(A.dateil1,Char(13)+Char(10),Char(10))+ '% ',B.dateil2)> 0